This commit is contained in:
Johannes
2022-06-22 23:38:26 +02:00
18 changed files with 150 additions and 132 deletions

View File

@@ -9,7 +9,7 @@ assignees: ''
<!-- Thanks for reporting a problem for this project. READ THIS FIRST: <!-- Thanks for reporting a problem for this project. READ THIS FIRST:
This issue template is meant to REPORT BUGS/PROBLEMS ONLY This issue template is meant to ASK FOR NEW FEATURES ONLY
Please take a few minutes to complete the requested information below. Please take a few minutes to complete the requested information below.
Our ability to provide assistance is greatly hampered without it. Our ability to provide assistance is greatly hampered without it.
@@ -18,8 +18,7 @@ DO NOT DELETE ANY TEXT from this template! Otherwise the issue will be auto-clos
--> -->
### FEATURE DESCRIPTION ### FEATURE DESCRIPTION
_A clear and concise description of what the problem is._ _A clear and concise description of what the feature should do._
### ADDITIONAL CONTEXT ### ADDITIONAL CONTEXT
_Add any other context about the problem here._ _Add any other context about the problem here._

View File

@@ -5,25 +5,19 @@
# Comment that will be sent if an issue is judged to be closed. # Comment that will be sent if an issue is judged to be closed.
comment: >- comment: >-
This issue has been automatically closed because the PROBLEM REPORT TEMPLATE is missing or incomplete. This issue has been automatically closed because the TEMPLATE is missing or incomplete.
Filling the template is required so standard questions don't need to be asked again each time. Filling the template is required so standard questions don't need to be asked again each time.
Our ability to provide assistance is greatly hampered if few minutes are not taken to complete the issue template THe ability to provide assistance is greatly hampered if few minutes are not taken to complete the issue template
with the requested information. The details requested potentially affect which options to pursue. The small amount with the requested information. The details requested potentially affect which options to pursue. The small amount
of time you will spend completing the template will also help the volunteers, providing assistance to you, to reduce of time you will spend completing the template will also help the volunteers, providing assistance to you, to reduce
the time required to help you. the time required to help you.
Please, could you be so kind on completing the [PROBLEM REPORT TEMPLATE](https://github.com/arendst/Tasmota/issues/new/choose) in order to have more information so as to properly help you? Please, could you be so kind on completing the [REPORT TEMPLATE](https://github.com/joBr99/nspanel-lovelace-ui/issues/new/choose) in order to have more information so as to properly help you?
Thank you for taking the time to report, hopefully it can be resolved soon. Thank you for taking the time to report, hopefully it can be resolved soon.
[Docs](https://tasmota.github.io/docs/) for more information. [Docs](https://docs.nspanel.pky.eu) for more information.
[Discussions](https://github.com/arendst/Tasmota/discussions) for Questions, Feature Requests and Projects.
[Chat](https://discord.gg/Ks2Kzd4) for more users experience.
Please check the [Code of Conduct](https://github.com/arendst/Tasmota/blob/development/CODE_OF_CONDUCT.md) and the [Contributing Guideline and Policy](https://github.com/arendst/Tasmota/blob/development/CONTRIBUTING.md)
issueConfigs: issueConfigs:
# There can be several configs for different kind of issues. # There can be several configs for different kind of issues.
@@ -49,3 +43,6 @@ caseInsensitive: true
label: "template missing/incomplete" label: "template missing/incomplete"
# The issue is judged to be legal if it includes all keywords from any of these two configs. # The issue is judged to be legal if it includes all keywords from any of these two configs.
# Or it will be closed by the app. # Or it will be closed by the app.
exception:
- "joBr99"
- "Armilar"

View File

@@ -1,6 +1,6 @@
diff -bur HMI/n2t-out/Program.s.txt HMI/US/landscape/n2t-out/Program.s.txt diff -bur HMI/n2t-out/Program.s.txt HMI/US/landscape/n2t-out/Program.s.txt
--- HMI/n2t-out/Program.s.txt 2022-06-19 14:20:59.947205019 +0000 --- HMI/n2t-out/Program.s.txt 2022-06-19 15:03:27.316416932 +0000
+++ HMI/US/landscape/n2t-out/Program.s.txt 2022-06-19 14:21:01.123214844 +0000 +++ HMI/US/landscape/n2t-out/Program.s.txt 2022-06-19 15:03:28.220436240 +0000
@@ -11,6 +11,4 @@ @@ -11,6 +11,4 @@
// dim value // dim value
int dimValue=40 int dimValue=40
@@ -9,8 +9,8 @@ diff -bur HMI/n2t-out/Program.s.txt HMI/US/landscape/n2t-out/Program.s.txt
- lcd_dev fffb 0002 0000 0020 - lcd_dev fffb 0002 0000 0020
page pageStartup page pageStartup
diff -bur HMI/n2t-out/pageStartup.txt HMI/US/landscape/n2t-out/pageStartup.txt diff -bur HMI/n2t-out/pageStartup.txt HMI/US/landscape/n2t-out/pageStartup.txt
--- HMI/n2t-out/pageStartup.txt 2022-06-19 14:20:59.947205019 +0000 --- HMI/n2t-out/pageStartup.txt 2022-06-19 15:03:27.316416932 +0000
+++ HMI/US/landscape/n2t-out/pageStartup.txt 2022-06-19 14:21:01.123214844 +0000 +++ HMI/US/landscape/n2t-out/pageStartup.txt 2022-06-19 15:03:28.220436240 +0000
@@ -177,7 +177,7 @@ @@ -177,7 +177,7 @@
recmod=1 recmod=1
bauds=115200 bauds=115200
@@ -21,8 +21,8 @@ diff -bur HMI/n2t-out/pageStartup.txt HMI/US/landscape/n2t-out/pageStartup.txt
btlen tSend.txt,sys0 btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC crcrest 1,0xffff // reset CRC
diff -bur HMI/n2t-out/popupShutter.txt HMI/US/landscape/n2t-out/popupShutter.txt diff -bur HMI/n2t-out/popupShutter.txt HMI/US/landscape/n2t-out/popupShutter.txt
--- HMI/n2t-out/popupShutter.txt 2022-06-19 14:20:59.947205019 +0000 --- HMI/n2t-out/popupShutter.txt 2022-06-19 15:03:27.316416932 +0000
+++ HMI/US/landscape/n2t-out/popupShutter.txt 2022-06-19 14:21:01.123214844 +0000 +++ HMI/US/landscape/n2t-out/popupShutter.txt 2022-06-19 15:03:28.220436240 +0000
@@ -181,7 +181,7 @@ @@ -181,7 +181,7 @@
Touch Release Event Touch Release Event
// event,buttonPress2,internalNameEntity,positionSlider,50 // event,buttonPress2,internalNameEntity,positionSlider,50
@@ -59,7 +59,13 @@ diff -bur HMI/n2t-out/popupShutter.txt HMI/US/landscape/n2t-out/popupShutter.txt
//send calc crc //send calc crc
btlen tSend.txt,sys0 btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC crcrest 1,0xffff // reset CRC
@@ -520,7 +520,6 @@ @@ -515,13 +515,11 @@
tsw bTLeft,0
spstr strCommand.txt,bTLeft.txt,"~",13
bTLeft.pco=27501
- vis bTRight,1
}else if(tTmp.txt=="enable")
{
spstr strCommand.txt,bTLeft.txt,"~",13 spstr strCommand.txt,bTLeft.txt,"~",13
tsw bTLeft,1 tsw bTLeft,1
bTLeft.pco=65535 bTLeft.pco=65535
@@ -67,7 +73,13 @@ diff -bur HMI/n2t-out/popupShutter.txt HMI/US/landscape/n2t-out/popupShutter.txt
} }
// set icon bStop // set icon bStop
spstr strCommand.txt,tTmp.txt,"~",17 spstr strCommand.txt,tTmp.txt,"~",17
@@ -534,10 +533,9 @@ @@ -530,36 +528,24 @@
tsw bTStop,0
spstr strCommand.txt,bTStop.txt,"~",14
bTStop.pco=27501
- vis bTRight,1
}else if(tTmp.txt=="enable")
{
spstr strCommand.txt,bTStop.txt,"~",14 spstr strCommand.txt,bTStop.txt,"~",14
tsw bTStop,1 tsw bTStop,1
bTStop.pco=65535 bTStop.pco=65535
@@ -79,7 +91,11 @@ diff -bur HMI/n2t-out/popupShutter.txt HMI/US/landscape/n2t-out/popupShutter.txt
if(tTmp.txt=="disable") if(tTmp.txt=="disable")
{ {
spstr strCommand.txt,bTRight.txt,"~",15 spstr strCommand.txt,bTRight.txt,"~",15
@@ -548,15 +546,6 @@ tsw bTRight,0
bTRight.pco=27501
- vis bTRight,1
}else if(tTmp.txt=="enable")
{
spstr strCommand.txt,bTRight.txt,"~",15 spstr strCommand.txt,bTRight.txt,"~",15
tsw bTRight,1 tsw bTRight,1
bTRight.pco=65535 bTRight.pco=65535

View File

@@ -1,6 +1,6 @@
diff -bur HMI/n2t-out/Program.s.txt HMI/US/portrait/n2t-out/Program.s.txt diff -bur HMI/n2t-out/Program.s.txt HMI/US/portrait/n2t-out/Program.s.txt
--- HMI/n2t-out/Program.s.txt 2022-06-19 14:20:59.947205019 +0000 --- HMI/n2t-out/Program.s.txt 2022-06-19 15:03:27.316416932 +0000
+++ HMI/US/portrait/n2t-out/Program.s.txt 2022-06-19 14:21:00.515209751 +0000 +++ HMI/US/portrait/n2t-out/Program.s.txt 2022-06-19 15:03:27.756426330 +0000
@@ -11,6 +11,6 @@ @@ -11,6 +11,6 @@
// dim value // dim value
int dimValue=40 int dimValue=40
@@ -11,8 +11,8 @@ diff -bur HMI/n2t-out/Program.s.txt HMI/US/portrait/n2t-out/Program.s.txt
+ //lcd_dev fffb 0002 0000 0020 + //lcd_dev fffb 0002 0000 0020
page pageStartup page pageStartup
diff -bur HMI/n2t-out/cardEntities.txt HMI/US/portrait/n2t-out/cardEntities.txt diff -bur HMI/n2t-out/cardEntities.txt HMI/US/portrait/n2t-out/cardEntities.txt
--- HMI/n2t-out/cardEntities.txt 2022-06-19 14:20:59.951205050 +0000 --- HMI/n2t-out/cardEntities.txt 2022-06-19 15:03:27.316416932 +0000
+++ HMI/US/portrait/n2t-out/cardEntities.txt 2022-06-19 14:21:00.515209751 +0000 +++ HMI/US/portrait/n2t-out/cardEntities.txt 2022-06-19 15:03:27.756426330 +0000
@@ -63,6 +63,16 @@ @@ -63,6 +63,16 @@
vis bText4,0 vis bText4,0
vis hSlider4,0 vis hSlider4,0
@@ -468,8 +468,8 @@ diff -bur HMI/n2t-out/cardEntities.txt HMI/US/portrait/n2t-out/cardEntities.txt
if(tInstruction.txt=="pageType") if(tInstruction.txt=="pageType")
{ {
diff -bur HMI/n2t-out/pageStartup.txt HMI/US/portrait/n2t-out/pageStartup.txt diff -bur HMI/n2t-out/pageStartup.txt HMI/US/portrait/n2t-out/pageStartup.txt
--- HMI/n2t-out/pageStartup.txt 2022-06-19 14:20:59.947205019 +0000 --- HMI/n2t-out/pageStartup.txt 2022-06-19 15:03:27.316416932 +0000
+++ HMI/US/portrait/n2t-out/pageStartup.txt 2022-06-19 14:21:00.515209751 +0000 +++ HMI/US/portrait/n2t-out/pageStartup.txt 2022-06-19 15:03:27.756426330 +0000
@@ -142,7 +142,7 @@ @@ -142,7 +142,7 @@
Disable release event after dragging: 0 Disable release event after dragging: 0
Send Component ID : disabled Send Component ID : disabled
@@ -488,30 +488,9 @@ diff -bur HMI/n2t-out/pageStartup.txt HMI/US/portrait/n2t-out/pageStartup.txt
//send calc crc //send calc crc
btlen tSend.txt,sys0 btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC crcrest 1,0xffff // reset CRC
diff -bur HMI/n2t-out/popupLight.txt HMI/US/portrait/n2t-out/popupLight.txt
--- HMI/n2t-out/popupLight.txt 2022-06-19 14:20:59.951205050 +0000
+++ HMI/US/portrait/n2t-out/popupLight.txt 2022-06-19 14:21:00.515209751 +0000
@@ -151,7 +151,7 @@
Send Component ID : disabled
Associated Keyboard : none
Text :
- Max. Text Size : 80
+ Max. Text Size : 10
Text tInstruction
Attributes
diff -bur HMI/n2t-out/popupShutter.txt HMI/US/portrait/n2t-out/popupShutter.txt diff -bur HMI/n2t-out/popupShutter.txt HMI/US/portrait/n2t-out/popupShutter.txt
--- HMI/n2t-out/popupShutter.txt 2022-06-19 14:20:59.947205019 +0000 --- HMI/n2t-out/popupShutter.txt 2022-06-19 15:03:27.316416932 +0000
+++ HMI/US/portrait/n2t-out/popupShutter.txt 2022-06-19 14:21:00.515209751 +0000 +++ HMI/US/portrait/n2t-out/popupShutter.txt 2022-06-19 15:03:27.756426330 +0000
@@ -69,7 +69,7 @@
Attributes
Scope : local
Text :
- Max. Text Size: 80
+ Max. Text Size: 10
Text tEntity
Attributes
@@ -181,7 +181,7 @@ @@ -181,7 +181,7 @@
Touch Release Event Touch Release Event
// event,buttonPress2,internalNameEntity,positionSlider,50 // event,buttonPress2,internalNameEntity,positionSlider,50
@@ -548,7 +527,13 @@ diff -bur HMI/n2t-out/popupShutter.txt HMI/US/portrait/n2t-out/popupShutter.txt
//send calc crc //send calc crc
btlen tSend.txt,sys0 btlen tSend.txt,sys0
crcrest 1,0xffff // reset CRC crcrest 1,0xffff // reset CRC
@@ -520,7 +520,6 @@ @@ -515,13 +515,11 @@
tsw bTLeft,0
spstr strCommand.txt,bTLeft.txt,"~",13
bTLeft.pco=27501
- vis bTRight,1
}else if(tTmp.txt=="enable")
{
spstr strCommand.txt,bTLeft.txt,"~",13 spstr strCommand.txt,bTLeft.txt,"~",13
tsw bTLeft,1 tsw bTLeft,1
bTLeft.pco=65535 bTLeft.pco=65535
@@ -556,7 +541,13 @@ diff -bur HMI/n2t-out/popupShutter.txt HMI/US/portrait/n2t-out/popupShutter.txt
} }
// set icon bStop // set icon bStop
spstr strCommand.txt,tTmp.txt,"~",17 spstr strCommand.txt,tTmp.txt,"~",17
@@ -534,10 +533,9 @@ @@ -530,36 +528,24 @@
tsw bTStop,0
spstr strCommand.txt,bTStop.txt,"~",14
bTStop.pco=27501
- vis bTRight,1
}else if(tTmp.txt=="enable")
{
spstr strCommand.txt,bTStop.txt,"~",14 spstr strCommand.txt,bTStop.txt,"~",14
tsw bTStop,1 tsw bTStop,1
bTStop.pco=65535 bTStop.pco=65535
@@ -568,7 +559,11 @@ diff -bur HMI/n2t-out/popupShutter.txt HMI/US/portrait/n2t-out/popupShutter.txt
if(tTmp.txt=="disable") if(tTmp.txt=="disable")
{ {
spstr strCommand.txt,bTRight.txt,"~",15 spstr strCommand.txt,bTRight.txt,"~",15
@@ -548,15 +546,6 @@ tsw bTRight,0
bTRight.pco=27501
- vis bTRight,1
}else if(tTmp.txt=="enable")
{
spstr strCommand.txt,bTRight.txt,"~",15 spstr strCommand.txt,bTRight.txt,"~",15
tsw bTRight,1 tsw bTRight,1
bTRight.pco=65535 bTRight.pco=65535

View File

@@ -1,8 +1,8 @@
+++ HMI/US/portrait/diff-eu-version.txt 2022-06-19 14:21:00.535209919 +0000 +++ HMI/US/portrait/diff-eu-version.txt 2022-06-19 15:03:27.772426671 +0000
+--- HMI/n2t-out/Program.s.txt 2022-06-19 14:20:59.947205019 +0000 +--- HMI/n2t-out/Program.s.txt 2022-06-19 15:03:27.316416932 +0000
++++ HMI/US/portrait/n2t-out/Program.s.txt 2022-06-19 14:21:00.515209751 +0000 ++++ HMI/US/portrait/n2t-out/Program.s.txt 2022-06-19 15:03:27.756426330 +0000
+--- HMI/n2t-out/cardEntities.txt 2022-06-19 14:20:59.951205050 +0000 +--- HMI/n2t-out/cardEntities.txt 2022-06-19 15:03:27.316416932 +0000
++++ HMI/US/portrait/n2t-out/cardEntities.txt 2022-06-19 14:21:00.515209751 +0000 ++++ HMI/US/portrait/n2t-out/cardEntities.txt 2022-06-19 15:03:27.756426330 +0000
+@@ -63,6 +63,16 @@ +@@ -63,6 +63,16 @@
+@@ -120,6 +130,18 @@ +@@ -120,6 +130,18 @@
+@@ -156,6 +178,15 @@ +@@ -156,6 +178,15 @@
@@ -14,32 +14,11 @@
+@@ -970,6 +1149,33 @@ +@@ -970,6 +1149,33 @@
+@@ -1075,6 +1281,28 @@ +@@ -1075,6 +1281,28 @@
+@@ -1850,6 +2078,169 @@ +@@ -1850,6 +2078,169 @@
+--- HMI/n2t-out/pageStartup.txt 2022-06-19 14:20:59.947205019 +0000 +--- HMI/n2t-out/pageStartup.txt 2022-06-19 15:03:27.316416932 +0000
++++ HMI/US/portrait/n2t-out/pageStartup.txt 2022-06-19 14:21:00.515209751 +0000 ++++ HMI/US/portrait/n2t-out/pageStartup.txt 2022-06-19 15:03:27.756426330 +0000
+diff -bur HMI/n2t-out/popupLight.txt HMI/US/portrait/n2t-out/popupLight.txt
+--- HMI/n2t-out/popupLight.txt 2022-06-19 14:20:59.951205050 +0000
++++ HMI/US/portrait/n2t-out/popupLight.txt 2022-06-19 14:21:00.515209751 +0000
+@@ -151,7 +151,7 @@
+ Send Component ID : disabled
+ Associated Keyboard : none
+ Text :
+- Max. Text Size : 80
++ Max. Text Size : 10
+
+ Text tInstruction
+ Attributes
+diff -bur HMI/n2t-out/popupShutter.txt HMI/US/portrait/n2t-out/popupShutter.txt +diff -bur HMI/n2t-out/popupShutter.txt HMI/US/portrait/n2t-out/popupShutter.txt
+--- HMI/n2t-out/popupShutter.txt 2022-06-19 14:20:59.947205019 +0000 +--- HMI/n2t-out/popupShutter.txt 2022-06-19 15:03:27.316416932 +0000
++++ HMI/US/portrait/n2t-out/popupShutter.txt 2022-06-19 14:21:00.515209751 +0000 ++++ HMI/US/portrait/n2t-out/popupShutter.txt 2022-06-19 15:03:27.756426330 +0000
+@@ -69,7 +69,7 @@
+ Attributes
+ Scope : local
+ Text :
+- Max. Text Size: 80
++ Max. Text Size: 10
+
+ Text tEntity
+ Attributes
+@@ -181,7 +181,7 @@ +@@ -181,7 +181,7 @@
+ Touch Release Event + Touch Release Event
+ // event,buttonPress2,internalNameEntity,positionSlider,50 + // event,buttonPress2,internalNameEntity,positionSlider,50
@@ -76,7 +55,13 @@
+ //send calc crc + //send calc crc
+ btlen tSend.txt,sys0 + btlen tSend.txt,sys0
+ crcrest 1,0xffff // reset CRC + crcrest 1,0xffff // reset CRC
+@@ -520,7 +520,6 @@ +@@ -515,13 +515,11 @@
+ tsw bTLeft,0
+ spstr strCommand.txt,bTLeft.txt,"~",13
+ bTLeft.pco=27501
+- vis bTRight,1
+ }else if(tTmp.txt=="enable")
+ {
+ spstr strCommand.txt,bTLeft.txt,"~",13 + spstr strCommand.txt,bTLeft.txt,"~",13
+ tsw bTLeft,1 + tsw bTLeft,1
+ bTLeft.pco=65535 + bTLeft.pco=65535
@@ -84,7 +69,13 @@
+ } + }
+ // set icon bStop + // set icon bStop
+ spstr strCommand.txt,tTmp.txt,"~",17 + spstr strCommand.txt,tTmp.txt,"~",17
+@@ -534,10 +533,9 @@ +@@ -530,36 +528,24 @@
+ tsw bTStop,0
+ spstr strCommand.txt,bTStop.txt,"~",14
+ bTStop.pco=27501
+- vis bTRight,1
+ }else if(tTmp.txt=="enable")
+ {
+ spstr strCommand.txt,bTStop.txt,"~",14 + spstr strCommand.txt,bTStop.txt,"~",14
+ tsw bTStop,1 + tsw bTStop,1
+ bTStop.pco=65535 + bTStop.pco=65535
@@ -95,7 +86,11 @@
+ if(tTmp.txt=="disable") + if(tTmp.txt=="disable")
+ { + {
+ spstr strCommand.txt,bTRight.txt,"~",15 + spstr strCommand.txt,bTRight.txt,"~",15
+@@ -548,15 +546,6 @@ + tsw bTRight,0
+ bTRight.pco=27501
+- vis bTRight,1
+ }else if(tTmp.txt=="enable")
+ {
+ spstr strCommand.txt,bTRight.txt,"~",15 + spstr strCommand.txt,bTRight.txt,"~",15
+ tsw bTRight,1 + tsw bTRight,1
+ bTRight.pco=65535 + bTRight.pco=65535

View File

@@ -18,6 +18,10 @@ cardQR
32 Component(s) 32 Component(s)
374 Line(s) of event code 374 Line(s) of event code
218 Unique line(s) of event code 218 Unique line(s) of event code
popupLight
27 Component(s)
353 Line(s) of event code
193 Unique line(s) of event code
popupNotify popupNotify
17 Component(s) 17 Component(s)
204 Line(s) of event code 204 Line(s) of event code
@@ -38,10 +42,6 @@ screensaver
38 Component(s) 38 Component(s)
319 Line(s) of event code 319 Line(s) of event code
253 Unique line(s) of event code 253 Unique line(s) of event code
popupLight
27 Component(s)
353 Line(s) of event code
193 Unique line(s) of event code
cardEntities cardEntities
77 Component(s) 77 Component(s)
1363 Line(s) of event code 1363 Line(s) of event code

View File

@@ -320,7 +320,7 @@ Text tTmp
Vertical Alignment : center Vertical Alignment : center
Input Type : character Input Type : character
Text : Text :
Max. Text Size : 10 Max. Text Size : 80
Word wrap : disabled Word wrap : disabled
Horizontal Spacing : 0 Horizontal Spacing : 0
Vertical Spacing : 0 Vertical Spacing : 0

View File

@@ -82,7 +82,7 @@ Variable (string) tTmp
ID : 19 ID : 19
Scope : local Scope : local
Text : Text :
Max. Text Size: 10 Max. Text Size: 80
Text tEntity Text tEntity
Attributes Attributes

View File

@@ -151,7 +151,7 @@ Text tTmp
Send Component ID : disabled Send Component ID : disabled
Associated Keyboard : none Associated Keyboard : none
Text : Text :
Max. Text Size : 10 Max. Text Size : 80
Text tInstruction Text tInstruction
Attributes Attributes

View File

@@ -69,7 +69,7 @@ Variable (string) tTmp
Attributes Attributes
Scope : local Scope : local
Text : Text :
Max. Text Size: 10 Max. Text Size: 80
Text tEntity Text tEntity
Attributes Attributes

View File

@@ -57,6 +57,8 @@ def lookup(path_frontend_file, path_backend_file, lookupstr):
def get_translation(locale, lookupstr): def get_translation(locale, lookupstr):
path_frontend_file, path_backend_file = build_locale_filestring(locale) path_frontend_file, path_backend_file = build_locale_filestring(locale)
res = lookup(path_frontend_file, path_backend_file, lookupstr) res = lookup(path_frontend_file, path_backend_file, lookupstr)
if locale == "he_IL":
res = res[::-1]
return res return res
out = defaultdict(lambda: defaultdict(lambda: defaultdict(dict))) out = defaultdict(lambda: defaultdict(lambda: defaultdict(dict)))

View File

@@ -20,7 +20,7 @@ popupNotify
128 Unique line(s) of event code 128 Unique line(s) of event code
popupShutter popupShutter
25 Component(s) 25 Component(s)
341 Line(s) of event code 344 Line(s) of event code
175 Unique line(s) of event code 175 Unique line(s) of event code
cardMedia cardMedia
34 Component(s) 34 Component(s)
@@ -58,5 +58,5 @@ cardEntities
Total Total
13 Page(s) 13 Page(s)
412 Component(s) 412 Component(s)
4655 Line(s) of event code 4658 Line(s) of event code
1245 Unique line(s) of event code 1245 Unique line(s) of event code

View File

@@ -844,6 +844,7 @@ Timer tmSerial
tsw bTLeft,0 tsw bTLeft,0
spstr strCommand.txt,bTLeft.txt,"~",13 spstr strCommand.txt,bTLeft.txt,"~",13
bTLeft.pco=27501 bTLeft.pco=27501
vis bTRight,1
}else if(tTmp.txt=="enable") }else if(tTmp.txt=="enable")
{ {
spstr strCommand.txt,bTLeft.txt,"~",13 spstr strCommand.txt,bTLeft.txt,"~",13
@@ -858,6 +859,7 @@ Timer tmSerial
tsw bTStop,0 tsw bTStop,0
spstr strCommand.txt,bTStop.txt,"~",14 spstr strCommand.txt,bTStop.txt,"~",14
bTStop.pco=27501 bTStop.pco=27501
vis bTRight,1
}else if(tTmp.txt=="enable") }else if(tTmp.txt=="enable")
{ {
spstr strCommand.txt,bTStop.txt,"~",14 spstr strCommand.txt,bTStop.txt,"~",14
@@ -872,6 +874,7 @@ Timer tmSerial
spstr strCommand.txt,bTRight.txt,"~",15 spstr strCommand.txt,bTRight.txt,"~",15
tsw bTRight,0 tsw bTRight,0
bTRight.pco=27501 bTRight.pco=27501
vis bTRight,1
}else if(tTmp.txt=="enable") }else if(tTmp.txt=="enable")
{ {
spstr strCommand.txt,bTRight.txt,"~",15 spstr strCommand.txt,bTRight.txt,"~",15

View File

@@ -515,6 +515,7 @@ Timer tmSerial
tsw bTLeft,0 tsw bTLeft,0
spstr strCommand.txt,bTLeft.txt,"~",13 spstr strCommand.txt,bTLeft.txt,"~",13
bTLeft.pco=27501 bTLeft.pco=27501
vis bTRight,1
}else if(tTmp.txt=="enable") }else if(tTmp.txt=="enable")
{ {
spstr strCommand.txt,bTLeft.txt,"~",13 spstr strCommand.txt,bTLeft.txt,"~",13
@@ -529,6 +530,7 @@ Timer tmSerial
tsw bTStop,0 tsw bTStop,0
spstr strCommand.txt,bTStop.txt,"~",14 spstr strCommand.txt,bTStop.txt,"~",14
bTStop.pco=27501 bTStop.pco=27501
vis bTRight,1
}else if(tTmp.txt=="enable") }else if(tTmp.txt=="enable")
{ {
spstr strCommand.txt,bTStop.txt,"~",14 spstr strCommand.txt,bTStop.txt,"~",14
@@ -543,6 +545,7 @@ Timer tmSerial
spstr strCommand.txt,bTRight.txt,"~",15 spstr strCommand.txt,bTRight.txt,"~",15
tsw bTRight,0 tsw bTRight,0
bTRight.pco=27501 bTRight.pco=27501
vis bTRight,1
}else if(tTmp.txt=="enable") }else if(tTmp.txt=="enable")
{ {
spstr strCommand.txt,bTRight.txt,"~",15 spstr strCommand.txt,bTRight.txt,"~",15

View File

@@ -77,7 +77,7 @@ cover_mapping = {
def map_to_mdi_name(ha_type, state=None, device_class="_", cardType=None): def map_to_mdi_name(ha_type, state=None, device_class="_", cardType=None):
if ha_type == "weather": if ha_type == "weather":
return weather_mapping[state] if state in weather_mapping else "alert-circle-outline" return weather_mapping[state] if state in weather_mapping else "alert-circle-outline"
elif ha_type == "button": elif ha_type in ["button", "navigate"]:
return "gesture-tap-button" return "gesture-tap-button"
elif ha_type == "scene": elif ha_type == "scene":
return "palette" return "palette"

View File

@@ -165,26 +165,28 @@ class LuiPagesGen(object):
if entityType == "navigate": if entityType == "navigate":
page_search_res = self._config.searchCard(entityId) page_search_res = self._config.searchCard(entityId)
if page_search_res is not None: if page_search_res is not None:
icon_res = get_icon_id_ha("navigate", overwrite=icon)
status_entity = None
name = name if name is not None else page_search_res.title name = name if name is not None else page_search_res.title
text = get_translation(self._locale, "frontend.ui.card.button.press") text = get_translation(self._locale, "frontend.ui.card.button.press")
icon_id = get_icon_id(icon) if icon is not None else get_icon_id("gesture-tap-button")
if item.status is not None and self._ha_api.entity_exists(item.status): if item.status is not None and self._ha_api.entity_exists(item.status):
status_entity = self._ha_api.get_entity(item.status) status_entity = self._ha_api.get_entity(item.status)
icon_color = self.get_entity_color(status_entity) icon_res = get_icon_id_ha(item.status.split(".")[0], state=status_entity.state, device_class=status_entity.attributes.get("device_class", "_"), overwrite=icon)
icon_color = self.get_entity_color(entity, overwrite=colorOverride)
if item.status.startswith("sensor") and cardType == "cardGrid": if item.status.startswith("sensor") and cardType == "cardGrid":
icon_id = status_entity.state[:4] icon_res = status_entity.state[:4]
if icon_id[-1] == ".": if icon_res[-1] == ".":
icon_id = icon_id[:-1] icon_res = icon_res[:-1]
else: else:
icon_color = 17299 icon_color = rgb_dec565(colorOverride) if colorOverride is not None and type(colorOverride) is list else 17299
return f"~button~{entityId}~{icon_id}~{icon_color}~{name}~{text}" return f"~button~{entityId}~{icon_res}~{icon_color}~{name}~{text}"
else: else:
return f"~text~{entityId}~{get_icon_id('alert-circle-outline')}~17299~page not found~" return f"~text~{entityId}~{get_icon_id('alert-circle-outline')}~17299~page not found~"
if entityType == "iText": if entityType == "iText":
value = entityId.split(".", 2)[1] value = entityId.split(".", 2)[1]
name = name if name is not None else "conf name missing" name = name if name is not None else "conf name missing"
icon_id = get_icon_id(icon) if icon is not None else get_icon_id("alert-circle-outline") icon_res = get_icon_id(icon) if icon is not None else get_icon_id("alert-circle-outline")
return f"~text~{entityId}~{icon_id}~17299~{name}~{value}" return f"~text~{entityId}~{icon_res}~17299~{name}~{value}"
if not self._ha_api.entity_exists(entityId): if not self._ha_api.entity_exists(entityId):
return f"~text~{entityId}~{get_icon_id('alert-circle-outline')}~17299~Not found check~ apps.yaml" return f"~text~{entityId}~{get_icon_id('alert-circle-outline')}~17299~Not found check~ apps.yaml"

View File

@@ -68,12 +68,12 @@ Click download.
2. Restart AppDaemon 2. Restart AppDaemon
3. Flash current Development Firmware in Tasmota Console. DO NOT USE THIS URL (only if you are on main/dev) 3. Flash current Development Firmware in Tasmota Console. DO NOT USE THIS VERSION/URLS IF YOUR ARE NOT ON THE DEVELOPMENT VERSION
`FlashNextion http://nspanel.pky.eu/lui.tft` DO NOT USE THIS URL (only if you are on main/dev) EU VERSION: `FlashNextion http://nspanel.pky.eu/lui.tft`
Development happens in the EU version, so it is possible that the US Version isn't up to date with the current development version of the EU firmware, the lastet US versions are still downloadable with the following links: Development happens in the EU version, so it is possible that the US Version isn't up to date with the current development version of the EU firmware, the lastet US versions are still downloadable with the following links:
`FlashNextion http://nspanel.pky.eu/lui-us-l.tft` DO NOT USE THIS URL (only if you are on main/dev) US LANDSCAPE: `FlashNextion http://nspanel.pky.eu/lui-us-l.tft`
`FlashNextion http://nspanel.pky.eu/lui-us-p.tft` DO NOT USE THIS URL (only if you are on main/dev) US PORTRAIT: `FlashNextion http://nspanel.pky.eu/lui-us-p.tft`

View File

@@ -23,6 +23,7 @@ ReleaseNotes:
- 19.06.2022 - V3.1.0 - Bugfix toLocalTimeString in en-EN/en-US - 19.06.2022 - V3.1.0 - Bugfix toLocalTimeString in en-EN/en-US
- 19.06.2022 - V3.1.0 - Fehler in findLocale abgefangen - 19.06.2022 - V3.1.0 - Fehler in findLocale abgefangen
- 19.06.2022 - V3.1.0 - Umstellung auf "Home Assistant" Sprachfile - 19.06.2022 - V3.1.0 - Umstellung auf "Home Assistant" Sprachfile
- 19.06.2022 - V3.1.0 - Alias "light" und "socket" haben optionalen Parameter icon2 für negative Zustände
Known Bug Known Bug
- Github Issue #286 - Github Issue #286
@@ -183,7 +184,7 @@ var Test_Licht: PageEntities =
"heading": "Color Aliase", "heading": "Color Aliase",
"useColor": true, "useColor": true,
"subPage": false, "subPage": false,
"parent": Test_Licht, "parent": undefined,
"items": [ "items": [
<PageItem>{ id: "alias.0.NSPanel_1.TestRGBLichteinzeln", name: "RGB-Licht Hex-Color", interpolateColor: true}, <PageItem>{ id: "alias.0.NSPanel_1.TestRGBLichteinzeln", name: "RGB-Licht Hex-Color", interpolateColor: true},
//<PageItem>{ id: "alias.0.NSPanel_1.TestFarbtemperatur", name: "Farbtemperatur", interpolateColor: true}, //<PageItem>{ id: "alias.0.NSPanel_1.TestFarbtemperatur", name: "Farbtemperatur", interpolateColor: true},
@@ -199,7 +200,7 @@ var Test_Funktionen: PageEntities =
"heading": "Sonstige Aliase", "heading": "Sonstige Aliase",
"useColor": true, "useColor": true,
"subPage": false, "subPage": false,
"parent": Test_Funktionen, "parent": undefined,
"items": [ "items": [
<PageItem>{ id: "alias.0.NSPanel_1.TestLautstärke", offColor: MSRed /*if mute=true*/, onColor: MSGreen ,name: "Echo Spot Büro", minValue: 0, maxValue: 100}, <PageItem>{ id: "alias.0.NSPanel_1.TestLautstärke", offColor: MSRed /*if mute=true*/, onColor: MSGreen ,name: "Echo Spot Büro", minValue: 0, maxValue: 100},
<PageItem>{ id: "alias.0.NSPanel_1.TestTemperatur",name: "Temperatur außen", icon: "thermometer", onColor: White}, <PageItem>{ id: "alias.0.NSPanel_1.TestTemperatur",name: "Temperatur außen", icon: "thermometer", onColor: White},
@@ -214,12 +215,13 @@ var Buero_Seite_1: PageEntities =
"heading": "Büro", "heading": "Büro",
"useColor": true, "useColor": true,
"subPage": false, "subPage": false,
"parent": Buero_Seite_1, "parent": undefined,
"items": [ "items": [
<PageItem>{ id: "alias.0.NSPanel_1.Schreibtischlampe", interpolateColor: true}, <PageItem>{ id: "alias.0.NSPanel_1.Schreibtischlampe", interpolateColor: true},
<PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung", interpolateColor: true}, <PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung", interpolateColor: true},
<PageItem>{ id: "alias.0.NSPanel_1.Testlampe2", name: "Filamentlampe", minValueBrightness: 0, maxValueBrightness: 70, interpolateColor: true}, <PageItem>{ id: "alias.0.NSPanel_1.Testlampe2", name: "Filamentlampe", minValueBrightness: 0, maxValueBrightness: 70, interpolateColor: true},
<PageItem>{ id: "alias.0.NSPanel_1.Luftreiniger", icon: "power", offColor: MSRed, onColor: MSGreen} <PageItem>{ id: "alias.0.NSPanel_1.Luftreiniger", icon: "power", icon2: "",offColor: MSRed, onColor: MSGreen}
//<PageItem>{ id: "alias.0.NSPanel_1.TestVentil1", icon: "valve-open", icon2: "valve-closed",offColor: MSRed, onColor: MSGreen, name: "Test-Ventil 1"}
] ]
}; };
@@ -229,7 +231,7 @@ var Fenster_1: PageEntities =
"heading": "Fenster und Türen", "heading": "Fenster und Türen",
"useColor": true, "useColor": true,
"subPage": false, "subPage": false,
"parent": Fenster_1, "parent": undefined,
"items": [ "items": [
<PageItem>{ id: "alias.0.NSPanel_1.TestFenster", offColor: MSRed, onColor: MSGreen, name: "Büro Fenster"}, <PageItem>{ id: "alias.0.NSPanel_1.TestFenster", offColor: MSRed, onColor: MSGreen, name: "Büro Fenster"},
<PageItem>{ id: "alias.0.NSPanel_1.Haustuer", offColor: MSRed, onColor: MSGreen, name: "Haustür"}, <PageItem>{ id: "alias.0.NSPanel_1.Haustuer", offColor: MSRed, onColor: MSGreen, name: "Haustür"},
@@ -244,7 +246,7 @@ var Button_1: PageEntities =
"heading": "Button Aliase", "heading": "Button Aliase",
"useColor": true, "useColor": true,
"subPage": false, "subPage": false,
"parent": Button_1, "parent": undefined,
"items": [ "items": [
<PageItem>{ id: "alias.0.NSPanel_1.TestTastensensor", name: "Tastensensor (FFN)"}, <PageItem>{ id: "alias.0.NSPanel_1.TestTastensensor", name: "Tastensensor (FFN)"},
<PageItem>{ id: "alias.0.NSPanel_1.Radio.NDR2", icon: "radio", name: "Taste (NDR2)", onColor: colorRadio}, <PageItem>{ id: "alias.0.NSPanel_1.Radio.NDR2", icon: "radio", name: "Taste (NDR2)", onColor: colorRadio},
@@ -257,7 +259,7 @@ var Subpages_1: PageEntities =
"heading": "Test Subpages", "heading": "Test Subpages",
"useColor": true, "useColor": true,
"subPage": false, "subPage": false,
"parent": Subpages_1, "parent": undefined,
"items": [ "items": [
<PageItem>{ navigate: true, id: "Abfall", onColor: White, name: "Abfallkalender"}, <PageItem>{ navigate: true, id: "Abfall", onColor: White, name: "Abfallkalender"},
<PageItem>{ navigate: true, id: "WLAN", onColor: White, name: "Gäste WLAN"}, <PageItem>{ navigate: true, id: "WLAN", onColor: White, name: "Gäste WLAN"},
@@ -286,7 +288,7 @@ var Buero_Seite_2: PageGrid =
"heading": "Büro 2", "heading": "Büro 2",
"useColor": true, "useColor": true,
"subPage": false, "subPage": false,
"parent": Buero_Seite_2, "parent": undefined,
"items": [ "items": [
<PageItem>{ id: "alias.0.NSPanel_1.Schreibtischlampe", name: "Schreibtisch"}, <PageItem>{ id: "alias.0.NSPanel_1.Schreibtischlampe", name: "Schreibtisch"},
<PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung", name: "Deckenlampe"}, <PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung", name: "Deckenlampe"},
@@ -303,7 +305,7 @@ var Alexa: PageMedia =
"heading": "Alexa", "heading": "Alexa",
"useColor": true, "useColor": true,
"subPage": false, "subPage": false,
"parent": Alexa, "parent": undefined,
"items": [<PageItem>{ id: "alias.0.NSPanel_1.Alexa.PlayerBuero" }] "items": [<PageItem>{ id: "alias.0.NSPanel_1.Alexa.PlayerBuero" }]
}; };
@@ -313,7 +315,7 @@ var Buero_Themostat: PageThermo =
"heading": "Test Thermostat", "heading": "Test Thermostat",
"useColor": true, "useColor": true,
"subPage": false, "subPage": false,
"parent": Buero_Themostat, "parent": undefined,
"items": [<PageItem>{ id: "alias.0.NSPanel_1.Thermostat_Büro", minValue: 50, maxValue: 300 }] "items": [<PageItem>{ id: "alias.0.NSPanel_1.Thermostat_Büro", minValue: 50, maxValue: 300 }]
}; };
@@ -323,7 +325,7 @@ var Buero_Klimaanlage: PageThermo =
"heading": "Test Klimaanlage", "heading": "Test Klimaanlage",
"useColor": true, "useColor": true,
"subPage": false, "subPage": false,
"parent": Buero_Klimaanlage, "parent": undefined,
"items": [<PageItem>{ id: "alias.0.NSPanel_1.TestKlimaanlage", minValue: 170, maxValue: 250}] "items": [<PageItem>{ id: "alias.0.NSPanel_1.TestKlimaanlage", minValue: 170, maxValue: 250}]
}; };
@@ -344,7 +346,7 @@ var Buero_Alarm: PageAlarm =
"heading": "Alarm", "heading": "Alarm",
"useColor": true, "useColor": true,
"subPage": false, "subPage": false,
"parent": Buero_Alarm, "parent": undefined,
"items": [<PageItem>{ id: "alias.0.NSPanel_1.Alarm" }] "items": [<PageItem>{ id: "alias.0.NSPanel_1.Alarm" }]
}; };
@@ -354,7 +356,7 @@ var button1Page: PageGrid =
"heading": "Radio", "heading": "Radio",
"useColor": true, "useColor": true,
"subPage": false, "subPage": false,
"parent": button1Page, "parent": undefined,
"items": [ "items": [
<PageItem>{ id: "alias.0.NSPanel_1.Radio.FFN", icon: "radio", name: "FFN", onColor: colorRadio}, <PageItem>{ id: "alias.0.NSPanel_1.Radio.FFN", icon: "radio", name: "FFN", onColor: colorRadio},
<PageItem>{ id: "alias.0.NSPanel_1.Radio.Antenne" , icon: "radio", name: "Antenne Nds.", onColor: colorRadio}, <PageItem>{ id: "alias.0.NSPanel_1.Radio.Antenne" , icon: "radio", name: "Antenne Nds.", onColor: colorRadio},
@@ -371,7 +373,7 @@ var button2Page: PageEntities =
"heading": "Büro", "heading": "Büro",
"useColor": true, "useColor": true,
"subPage": false, "subPage": false,
"parent": button2Page, "parent": undefined,
"items": [ "items": [
<PageItem>{ id: "alias.0.NSPanel_1.Schreibtischlampe"}, <PageItem>{ id: "alias.0.NSPanel_1.Schreibtischlampe"},
<PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung"} <PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung"}
@@ -385,7 +387,7 @@ var Service: PageEntities =
"heading": "NSPanel Service", "heading": "NSPanel Service",
"useColor": true, "useColor": true,
"subPage": false, "subPage": false,
"parent": Service, "parent": undefined,
"items": [ "items": [
<PageItem>{ id: "alias.0.NSPanel_1.NSPanel_AutoUpdate", name: "Auto-Updates" ,icon: "update", offColor: MSRed, onColor: MSGreen}, <PageItem>{ id: "alias.0.NSPanel_1.NSPanel_AutoUpdate", name: "Auto-Updates" ,icon: "update", offColor: MSRed, onColor: MSGreen},
<PageItem>{ navigate: true, id: "NSPanel_Infos", icon: "information-outline", onColor: White, name: "NSPanel Infos"}, <PageItem>{ navigate: true, id: "NSPanel_Infos", icon: "information-outline", onColor: White, name: "NSPanel Infos"},
@@ -451,7 +453,7 @@ export const config: Config = {
dimmode: 8, dimmode: 8,
active: 100, //Standard-Brightness TFT active: 100, //Standard-Brightness TFT
screenSaverDoubleClick: false, screenSaverDoubleClick: false,
locale: "en-US", //en-US, de-DE, nl-NL, da-DK, es-ES, fr-FR, it-IT, ru-RU, etc. locale: "de-DE", //en-US, de-DE, nl-NL, da-DK, es-ES, fr-FR, it-IT, ru-RU, etc.
timeFormat: "%H:%M", //currently not used timeFormat: "%H:%M", //currently not used
dateFormat: "%A, %d. %B %Y", //currently not used dateFormat: "%A, %d. %B %Y", //currently not used
weatherEntity: "alias.0.Wetter", weatherEntity: "alias.0.Wetter",
@@ -559,7 +561,6 @@ check_updates();
function get_locales() { function get_locales() {
exec('curl https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/ioBroker/ioBroker_NSPanel_locales.json', function (error, result, stderr){ exec('curl https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/ioBroker/ioBroker_NSPanel_locales.json', function (error, result, stderr){
if (result) { if (result) {
let BerryDriverVersionOnline = result.substring((result.indexOf("version_of_this_script = ") + 24), result.indexOf("version_of_this_script = ") + 27).replace(/\s+/g, '');
createState(NSPanel_Path + "NSPanel_locales_json"); createState(NSPanel_Path + "NSPanel_locales_json");
var timer = setTimeout(function() { var timer = setTimeout(function() {
setIfExists(NSPanel_Path + 'NSPanel_locales_json', result); setIfExists(NSPanel_Path + 'NSPanel_locales_json', result);
@@ -1095,6 +1096,7 @@ function CreateEntity(pageItem: PageItem, placeId: number, useColors: boolean =
case "light": case "light":
type = "light" type = "light"
iconId = pageItem.icon !== undefined ? Icons.GetIcon(pageItem.icon) : o.common.role == "socket" ? Icons.GetIcon("power-socket-de") : Icons.GetIcon("lightbulb"); iconId = pageItem.icon !== undefined ? Icons.GetIcon(pageItem.icon) : o.common.role == "socket" ? Icons.GetIcon("power-socket-de") : Icons.GetIcon("lightbulb");
var iconId2 = pageItem.icon2 !== undefined ? Icons.GetIcon(pageItem.icon2) : o.common.role == "socket" ? Icons.GetIcon("power-socket-de") : Icons.GetIcon("lightbulb");
var optVal = "0" var optVal = "0"
if (val === true || val === "true") { if (val === true || val === "true") {
@@ -1102,6 +1104,11 @@ function CreateEntity(pageItem: PageItem, placeId: number, useColors: boolean =
iconColor = GetIconColor(pageItem, true, useColors); iconColor = GetIconColor(pageItem, true, useColors);
} else { } else {
iconColor = GetIconColor(pageItem, false, useColors); iconColor = GetIconColor(pageItem, false, useColors);
if (pageItem.icon !== undefined) {
if (pageItem.icon2 !== undefined) {
iconId = iconId2;
}
}
} }
return "~" + type + "~" + pageItem.id + "~" + iconId + "~" + iconColor + "~" + name + "~" + optVal; return "~" + type + "~" + pageItem.id + "~" + iconId + "~" + iconColor + "~" + name + "~" + optVal;
@@ -1981,9 +1988,7 @@ function HandleButtonEvent(words): void {
} }
} else { } else {
if (Debug) console.log("bExit: " + words[4] + " - "+ pageId) if (Debug) console.log("bExit: " + words[4] + " - "+ pageId)
//Known Bug GitHub Issue #286 GeneratePage(activePage);
//GeneratePage(activePage);
GeneratePage(config.pages[pageId]);
} }
break; break;
case "notifyAction": case "notifyAction":
@@ -2960,6 +2965,7 @@ interface PageQR extends Page {
type PageItem = { type PageItem = {
id: string, id: string,
icon: (string | undefined), icon: (string | undefined),
icon2: (string | undefined),
onColor: (RGB | undefined), onColor: (RGB | undefined),
offColor: (RGB | undefined), offColor: (RGB | undefined),
useColor: (boolean | undefined), useColor: (boolean | undefined),