Compare commits

..

16 Commits

Author SHA1 Message Date
Johannes
ade8c0d10a Update nspanel-lovelace-ui.py 2023-01-07 11:41:23 +01:00
Johannes
1be017f029 fix for #676 2023-01-07 11:40:12 +01:00
Armilar
0a3d5834fd v3.8.1 - New Release (Breaking Changes)
- Add New HMI-Navi (Breaking Changes)
- Add Tasmota "Web Admin Password" (Breaking Changes)
- Add Navigation bSubPrev and bSubNext and Subpages for bHome
- Bugfix for cardThermostat - Payload (Minor)
- Add Volumio-Player to cardMedia by @egal
- Upgrade TFT 47
- Add Volumio-Tracklist to cardMedia by @egal
- HMI Hotfix
2023-01-06 15:38:31 +01:00
Armilar
47e5f414c8 v3.8.1 - New Release (Breaking Changes)
- Add New HMI-Navi (Breaking Changes)
- Add Tasmota "Web Admin Password" (Breaking Changes)
- Add Navigation bSubPrev and bSubNext and Subpages for bHome
- Bugfix for cardThermostat - Payload (Minor)
- Add Volumio-Player to cardMedia by @egal
- Upgrade TFT 47
- Add Volumio-Tracklist to cardMedia by @egal
- HMI Hotfix
2023-01-06 15:36:22 +01:00
joBr99
9fcb845fd7 bump version to 3.8.2 (add nextion2text) 2023-01-06 14:11:26 +00:00
Johannes
1400ef039b bump version to 3.8.2 2023-01-06 14:44:44 +01:00
Johannes
ef83c45267 Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui 2023-01-06 14:43:53 +01:00
Johannes
5fb4e57cd1 hide 6th entity 2023-01-06 14:43:48 +01:00
Johannes
cbc256bbf9 fixes #670 2023-01-06 14:38:48 +01:00
Armilar
a5e60ac313 v3.8.1 - New Release (Breaking Changes)
- Add New HMI-Navi (Breaking Changes)
- Add Tasmota "Web Admin Password" (Breaking Changes)
- Add Navigation bSubPrev and bSubNext and Subpages for bHome
- Bugfix for cardThermostat - Payload (Minor)
- Add Volumio-Player to cardMedia by @egal
- Upgrade TFT 47
- Add Volumio-Tracklist to cardMedia by @egal
- HMI Hotfix
2023-01-06 12:15:53 +01:00
Armilar
d634ca1bac v3.8.1 - New Release (Breaking Changes)
- Add New HMI-Navi (Breaking Changes)
- Add Tasmota "Web Admin Password" (Breaking Changes)
- Add Navigation bSubPrev and bSubNext and Subpages for bHome
- Bugfix for cardThermostat - Payload (Minor)
- Add Volumio-Player to cardMedia by @egal
- Upgrade TFT 47
- Add Volumio-Tracklist to cardMedia by @egal
- HMI Hotfix
2023-01-06 12:12:17 +01:00
Armilar
0a6236b3e0 v3.8.0 - New Release (Breaking Changes)
- Add New HMI-Navi (Breaking Changes)
- Add Tasmota "Web Admin Password" (Breaking Changes)
- Add Navigation bSubPrev and bSubNext and Subpages for bHome
- Bugfix for cardThermostat - Payload (Minor)
- Add Volumio-Player to cardMedia by @egal
- Upgrade TFT 47
- Add Volumio-Tracklist to cardMedia by @egal
2023-01-06 11:56:00 +01:00
Armilar
183e4d03cb v3.8.0 - New Release (Breaking Changes)
- Add New HMI-Navi (Breaking Changes)
- Add Tasmota "Web Admin Password" (Breaking Changes)
- Add Navigation bSubPrev and bSubNext and Subpages for bHome
- Bugfix for cardThermostat - Payload (Minor)
- Add Volumio-Player to cardMedia by @egal
- Upgrade TFT 47
- Add Volumio-Tracklist to cardMedia by @egal
2023-01-06 11:53:45 +01:00
Armilar
8eb80af744 v3.8.0 - New Release (Breaking Changes)
- Add New HMI-Navi (Breaking Changes)
- Add Tasmota "Web Admin Password" (Breaking Changes)
- Add Navigation bSubPrev and bSubNext and Subpages for bHome
- Bugfix for cardThermostat - Payload (Minor)
- Add Volumio-Player to cardMedia by @egal
- Upgrade TFT 47
- Add Volumio-Tracklist to cardMedia by @egal
2023-01-06 11:52:01 +01:00
Armilar
393ef7d322 v3.8.0 - New Release (Breaking Changes)
- Add New HMI-Navi (Breaking Changes)
- Add Tasmota "Web Admin Password" (Breaking Changes)
- Add Navigation bSubPrev and bSubNext and Subpages for bHome
- Bugfix for cardThermostat - Payload (Minor)
- Add Volumio-Player to cardMedia by @egal
- Upgrade TFT 47
- Add Volumio-Tracklist to cardMedia by @egal
2023-01-06 11:46:52 +01:00
Armilar
42e715c6b5 v3.8.0 - New Release (Breaking Changes)
- Add New HMI-Navi (Breaking Changes)
- Add Tasmota "Web Admin Password" (Breaking Changes)
- Add Navigation bSubPrev and bSubNext and Subpages for bHome
- Bugfix for cardThermostat - Payload (Minor)
- Add Volumio-Player to cardMedia by @egal
- Upgrade TFT 47
- Add Volumio-Tracklist to cardMedia by @egal
2023-01-06 11:42:38 +01:00
17 changed files with 570 additions and 2051 deletions

View File

@@ -1,79 +0,0 @@
--- HMI/n2t-out
+++ HMI/US/landscape/n2t-out
│ --- HMI/n2t-out/Program.s.txt
├── +++ HMI/US/landscape/n2t-out/Program.s.txt
│ @@ -10,10 +10,8 @@
│ int sleepValue=0
│ // dim value
│ int dimValue=40
│ int dimValueNormal=100
│ //color vars
│ int defaultFontColor=65535
│ int defaultBcoColor=6371
│ - // fix touch offset
│ - lcd_dev fffb 0002 0000 0020
│ page pageStartup
│ --- HMI/n2t-out/pageStartup.txt
├── +++ HMI/US/landscape/n2t-out/pageStartup.txt
│ @@ -173,15 +173,15 @@
│ Max. Text Size : 10
│ Events
│ Touch Press Event
│ recmod=1
│ bauds=115200
│ // startup event
│ - tSend.txt="event,startup,"+tVersion.txt+",eu"
│ + tSend.txt="event,startup,"+tVersion.txt+",us-l"
│ //send calc crc
│ btlen tSend.txt,sys0
│ crcrest 1,0xffff // reset CRC
│ crcputh 55 bb
│ crcputs sys0,2
│ crcputs tSend.txt,0
│ //send cmd
│ --- HMI/n2t-out/screensaver.txt
├── +++ HMI/US/landscape/n2t-out/screensaver.txt
│ @@ -29,17 +29,14 @@
│ }
│ tDate.txt=pageIcons.vaDate.txt
│ dim=dimValue
│ vis tSend,0
│ //page open event
│ // clear weather elements, to keep example content in HMI
│ - Postinitialize Event
│ - click m0,1
│ -
│ Variable (string) strCommand
│ Attributes
│ Scope : local
│ Text :
│ Max. Text Size: 200
│ Variable (string) strTmp
│ @@ -103,24 +100,14 @@
│ Value: 0
│ Variable (int32) ycR
│ Attributes
│ Scope: local
│ Value: 0
│ -Text m0
│ - Attributes
│ - Scope : local
│ - Dragging : 0
│ - Disable release event after dragging: 0
│ - Send Component ID : disabled
│ - Associated Keyboard : none
│ - Text :
│ - Max. Text Size : 10
│ -
│ Text t10
│ Attributes
│ Scope : local
│ Dragging : 0
│ Disable release event after dragging: 0
│ Send Component ID : disabled
│ Associated Keyboard : none

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -1,513 +1 @@
+++ /dev/fd/62 2023-01-05 18:06:15.475339237 +0000
+I/n2t-out/Program.s.txt
++ HMI/US/portrait/n2t-out/Program.s.txt
+I/n2t-out/cardEntities.txt
++ HMI/US/portrait/n2t-out/cardEntities.txt
+5 +96,57 @@
+ }
+ }
+
+e (string) entn1
+ributes
+ Scope : local
+ Text :
+ Max. Text Size: 80
+ Max. Text Size: 65
+
+e (string) entn2
+ributes
+ Scope : local
+ Text :
+ Max. Text Size: 80
+ Max. Text Size: 65
+
+e (string) entn3
+ributes
+ Scope : local
+ Text :
+ Max. Text Size: 80
+ Max. Text Size: 65
+ Max. Text Size: 65
+ Max. Text Size: 65
+
+e (string) entn6
+ributes
+ Scope : local
+ Text :
+ Max. Text Size: 65
+
+e (string) nent1
+ributes
+ Scope : local
+ Text :
+ Max. Text Size: 80
+ Max. Text Size: 40
+
+e (string) nent2
+ributes
+ Scope : local
+ Text :
+ Max. Text Size: 40
+14 +176,26 @@
+e (string) type6
+ributes
+ Scope : local
+ Text :
+ Max. Text Size: 10
+
+14 +224,32 @@
+nNum6
+ributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+ Associated Keyboard : none
+ Value : 0
+
+14 +282,34 @@
+ntity6
+ributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+ Associated Keyboard : none
+ Text : tEntity5
+ Max. Text Size : 30
+
+14 +352,34 @@
+con6
+ributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+ Associated Keyboard : none
+ Text : 
+ Max. Text Size : 5
+
+14 +521,70 @@
+hSlider6
+ributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+ Position : 50
+ Upper range limit : 100
+ Lower range limit : 0
+
+nts
+ Touch Release Event
+ nNum5.val=hSlider5.val
+ tSend.txt="event,buttonPress2,"+entn6.txt+",number-set,"
+ covx nNum5.val,tTmp.txt,0,0
+ tSend.txt+=tTmp.txt
+ //send calc crc
+ btlen tSend.txt,sys0
+ crcrest 1,0xffff // reset CRC
+ crcputh 55 bb
+ crcputs sys0,2
+ crcputs tSend.txt,0
+ //send cmd
+ printh 55 bb
+ prints sys0,2
+ prints tSend.txt,0
+ prints crcval,2
+
+14 +677,64 @@
+bDown6
+ributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+ State : unpressed
+ Text : 
+ Max. Text Size : 10
+
+nts
+ Touch Press Event
+ tSend.txt="event,buttonPress2,"+entn6.txt+",down"
+ //send calc crc
+ btlen tSend.txt,sys0
+ crcrest 1,0xffff // reset CRC
+ crcputh 55 bb
+ crcputs sys0,2
+ crcputs tSend.txt,0
+ //send cmd
+ printh 55 bb
+ prints sys0,2
+ prints tSend.txt,0
+ prints crcval,2
+
+14 +877,64 @@
+bStop6
+ributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+ State : unpressed
+ Text : 
+ Max. Text Size : 10
+
+nts
+ Touch Press Event
+ tSend.txt="event,buttonPress2,"+entn6.txt+",stop"
+ //send calc crc
+ btlen tSend.txt,sys0
+ crcrest 1,0xffff // reset CRC
+ crcputh 55 bb
+ crcputs sys0,2
+ crcputs tSend.txt,0
+ //send cmd
+ printh 55 bb
+ prints sys0,2
+ prints tSend.txt,0
+ prints crcval,2
+
+14 +1027,64 @@
+bText6
+ributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+ State : unpressed
+ Text :
+ Max. Text Size : 45
+
+nts
+ Touch Press Event
+ tSend.txt="event,buttonPress2,"+entn6.txt+",button"
+ //send calc crc
+ btlen tSend.txt,sys0
+ crcrest 1,0xffff // reset CRC
+ crcputh 55 bb
+ crcputs sys0,2
+ crcputs tSend.txt,0
+ //send cmd
+ printh 55 bb
+ prints sys0,2
+ prints tSend.txt,0
+ prints crcval,2
+
+14 +1177,64 @@
+bUp6
+ributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+ State : unpressed
+ Text : 
+ Max. Text Size : 10
+
+nts
+ Touch Press Event
+ tSend.txt="event,buttonPress2,"+entn6.txt+",up"
+ //send calc crc
+ btlen tSend.txt,sys0
+ crcrest 1,0xffff // reset CRC
+ crcputh 55 bb
+ crcputs sys0,2
+ crcputs tSend.txt,0
+ //send cmd
+ printh 55 bb
+ prints sys0,2
+ prints tSend.txt,0
+ prints crcval,2
+
+14 +1335,68 @@
+ate Button btOnOff6
+ributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+ State : unpressed
+ Text :
+ Max. Text Size : 10
+
+nts
+ Touch Press Event
+ tSend.txt="event,buttonPress2,"+entn6.txt+",OnOff,"
+ covx btOnOff5.val,tTmp.txt,0,0
+ tSend.txt+=tTmp.txt
+ //send calc crc
+ btlen tSend.txt,sys0
+ crcrest 1,0xffff // reset CRC
+ crcputh 55 bb
+ crcputs sys0,2
+ crcputs tSend.txt,0
+ //send cmd
+ printh 55 bb
+ prints sys0,2
+ prints tSend.txt,0
+ prints crcval,2
+
+,14 +1529,84 @@
+ page popupInSel
+ if(type4.txt=="timer")
+ page popupTimer
+ if(type5.txt=="timer")
+ {
+ page popupTimer
+ }
+
+ m5
+ributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+
+nts
+ Touch Press Event
+ pageIcons.tTmp1.txt=tEntity6.txt
+ pageIcons.tTmp2.txt=entn6.txt
+ pageIcons.tTmp3.txt=tIcon6.txt
+ if(type6.txt=="shutter")
+ {
+ //popupShutter.tHeading.txt=tEntity5.txt
+ page popupShutter
+ }
+ if(type6.txt=="light")
+ {
+ //popupLight.tEntity.txt=tEntity5.txt
+ page popupLight
+ }
+ if(type6.txt=="fan")
+ {
+ page popupFan
+ }
+ if(type6.txt=="input_sel")
+ {
+ page popupInSel
+ }
+ if(type6.txt=="timer")
+ {
+ page popupTimer
+ }
+,14 +2334,312 @@
+ spstr strCommand.txt,type5.txt,"~",38
+ spstr strCommand.txt,entn5.txt,"~",39
+ spstr strCommand.txt,tIcon5.txt,"~",40
+ spstr strCommand.txt,tTmp.txt,"~",41
+ spstr strCommand.txt,tEntity5.txt,"~",42
+ spstr strCommand.txt,tId.txt,"~",43
+ spstr strCommand.txt,tTmp.txt,"~",43
+ if(type5.txt=="text"||type5.txt=="timer")
+ spstr strCommand.txt,bText5.txt,"~",43
+ spstr strCommand.txt,bText5.txt,"~",43
+ spstr strCommand.txt,bText5.txt,"~",43
+ // get Type
+ spstr strCommand.txt,type6.txt,"~",44
+ // get internal name
+ spstr strCommand.txt,entn6.txt,"~",45
+ if(type6.txt=="delete"||type6.txt=="")
+ {
+ vis bUp6,0
+ vis bStop6,0
+ vis bDown6,0
+ vis btOnOff6,0
+ vis tEntity6,0
+ vis tIcon6,0
+ vis bText6,0
+ vis hSlider6,0
+ vis nNum6,0
+ }else
+ {
+ // change icon
+ spstr strCommand.txt,tIcon6.txt,"~",46
+ vis tIcon6,1
+ // change icon color
+ spstr strCommand.txt,tTmp.txt,"~",47
+ covx tTmp.txt,sys0,0,0
+ tIcon6.pco=sys0
+ // set name
+ spstr strCommand.txt,tEntity6.txt,"~",48
+ vis tEntity6,1
+ }
+ if(type6.txt=="shutter")
+ {
+ vis bUp6,1
+ vis bStop6,1
+ vis bDown6,1
+ vis btOnOff6,0
+ vis bText6,0
+ vis hSlider6,0
+ vis nNum6,0
+ // get Button State (optional Value)
+ spstr strCommand.txt,tId.txt,"~",49
+ // up button
+ spstr tId.txt,tTmp.txt,"|",3
+ if(tTmp.txt=="disable")
+ {
+ bUp6.pco=27501
+ spstr tId.txt,bUp6.txt,"|",0
+ tsw bUp6,0
+ }else if(tTmp.txt=="enable")
+ {
+ bUp6.pco=65535
+ spstr tId.txt,bUp6.txt,"|",0
+ tsw bUp6,1
+ }
+ // stop button
+ spstr tId.txt,tTmp.txt,"|",4
+ if(tTmp.txt=="disable")
+ {
+ bStop6.pco=27501
+ spstr tId.txt,bStop6.txt,"|",1
+ tsw bStop6,0
+ }else if(tTmp.txt=="enable")
+ {
+ bStop6.pco=65535
+ spstr tId.txt,bStop6.txt,"|",1
+ tsw bStop6,1
+ }
+ // down button
+ spstr tId.txt,tTmp.txt,"|",5
+ if(tTmp.txt=="disable")
+ {
+ bDown6.pco=27501
+ spstr tId.txt,bDown6.txt,"|",2
+ tsw bDown6,0
+ }else if(tTmp.txt=="enable")
+ {
+ bDown6.pco=65535
+ spstr tId.txt,bDown6.txt,"|",2
+ tsw bDown6,1
+ }
+ }
+ if(type6.txt=="light"||type6.txt=="switch"||type6.txt=="fan")
+ {
+ vis bUp6,0
+ vis bStop6,0
+ vis bDown6,0
+ vis btOnOff6,1
+ vis bText6,0
+ vis hSlider6,0
+ vis nNum6,0
+ // get Button State (optional Value)
+ spstr strCommand.txt,tTmp.txt,"~",49
+ covx tTmp.txt,sys0,0,0
+ btOnOff6.val=sys0
+ }
+ if(type6.txt=="text"||type6.txt=="timer")
+ {
+ vis bUp6,0
+ vis bStop6,0
+ vis bDown6,0
+ vis btOnOff6,0
+ vis bText6,1
+ tsw bText6,0
+ vis hSlider6,0
+ vis nNum6,0
+ bText6.pco=65535
+ bText6.pco2=65535
+ // get Text (optional Value)
+ spstr strCommand.txt,bText6.txt,"~",49
+ }
+ if(type6.txt=="button"||type6.txt=="input_sel")
+ {
+ vis bUp6,0
+ vis bStop6,0
+ vis bDown6,0
+ vis btOnOff6,0
+ vis bText6,1
+ tsw bText6,1
+ vis hSlider6,0
+ vis nNum6,0
+ bText6.pco=1374
+ bText6.pco2=1374
+ // get Text (optional Value)
+ spstr strCommand.txt,bText6.txt,"~",49
+ }
+ if(type6.txt=="number")
+ {
+ vis bUp6,0
+ vis bStop6,0
+ vis bDown6,0
+ vis btOnOff6,0
+ vis bText6,0
+ tsw bText6,0
+ vis hSlider6,1
+ vis nNum6,1
+ // get config (optional Value) (use bText as variable)
+ spstr strCommand.txt,bText6.txt,"~",49
+ //first value is current value
+ spstr bText6.txt,tTmp.txt,"|",0
+ covx tTmp.txt,sys0,0,0
+ hSlider6.val=sys0
+ nNum6.val=sys0
+ //second value is min value
+ spstr bText6.txt,tTmp.txt,"|",1
+ covx tTmp.txt,sys0,0,0
+ hSlider6.minval=sys0
+ //third value is max value
+ spstr bText6.txt,tTmp.txt,"|",2
+ covx tTmp.txt,sys0,0,0
+ hSlider6.maxval=sys0
+ }
+I/n2t-out/pageStartup.txt
++ HMI/US/portrait/n2t-out/pageStartup.txt
+I/n2t-out/screensaver.txt
++ HMI/US/portrait/n2t-out/screensaver.txt
+9 +29,20 @@
+ }
+ tDate.txt=pageIcons.vaDate.txt
+ dim=dimValue
+ vis tSend,0
+ //page open event
+ // clear weather elements, to keep example content in HMI
+
+ Postinitialize Event
+ click m0,1
+
+e (string) strCommand
+ributes
+ Scope : local
+ Text :
+ Max. Text Size: 200
+
+e (string) strTmp
+ributes
+ Scope : local
+ Text :
+ Max. Text Size: 2
+
+e (string) tId
+ributes
+ Scope : local
+ Text :
+ Max. Text Size: 25
+
+e (string) tInstruction
+24 +94,14 @@
+ Value: 0
+
+e (int32) ycR
+ributes
+ Scope: local
+ Value: 0
+
+
+ributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+ Associated Keyboard : none
+ Text :
+ Max. Text Size : 10
+
+0
+ributes
+ Scope : local
+ Dragging : 0
+ Disable release event after dragging: 0
+ Send Component ID : disabled
+ Associated Keyboard : none
+++ /dev/fd/62 2023-01-06 14:11:20.674466368 +0000

View File

@@ -83,6 +83,16 @@ Page cardEntities
vis bText5,0
vis hSlider5,0
vis nNum5,0
//ui e6
vis btOnOff6,0
vis bUp6,0
vis bStop6,0
vis bDown6,0
vis tIcon6,0
vis tEntity6,0
vis bText6,0
vis hSlider6,0
vis nNum6,0
cardEntities.bco=defaultBcoColor
for(sys0=0;sys0<65;sys0++)
{

View File

@@ -76,11 +76,11 @@ popupInSel
295 Unique line(s) of event code
cardEntities
91 Component(s)
1609 Line(s) of event code
690 Unique line(s) of event code
1618 Line(s) of event code
699 Unique line(s) of event code
Total
19 Page(s)
709 Component(s)
8633 Line(s) of event code
2247 Unique line(s) of event code
8642 Line(s) of event code
2255 Unique line(s) of event code

View File

@@ -75,6 +75,16 @@ Page cardEntities
vis bText5,0
vis hSlider5,0
vis nNum5,0
//ui e6
vis btOnOff6,0
vis bUp6,0
vis bStop6,0
vis bDown6,0
vis tIcon6,0
vis tEntity6,0
vis bText6,0
vis hSlider6,0
vis nNum6,0
cardEntities.bco=defaultBcoColor
for(sys0=0;sys0<65;sys0++)
{

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -489,7 +489,7 @@ class LuiPagesGen(object):
detailPage = ""
if any(x in ["preset_modes", "swing_modes", "fan_modes"] for x in entity.attributes):
detailPage = "1"
detailPage = "0"
command = f"entityUpd~{heading}~{navigation}~{item}~{current_temp} {temperature_unit}~{dest_temp}~{state_value}~{min_temp}~{max_temp}~{step_temp}{icon_res}~{currently_translation}~{state_translation}~{action_translation}~{temperature_unit_icon}~{dest_temp2}~{detailPage}"
self._send_mqtt_msg(command)

View File

@@ -27,8 +27,8 @@ class NsPanelLovelaceUIManager(hass.Hass):
controller = LuiController(cfg, mqttsend.send_mqtt_msg)
desired_tasmota_driver_version = 8
desired_display_firmware_version = 47
version = "v3.8.0"
desired_display_firmware_version = 48
version = "v3.8.3"
model = cfg.get("model")
if model == "us-l":

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
/*-----------------------------------------------------------------------
TypeScript v3.8.0 zur Steuerung des SONOFF NSPanel mit dem ioBroker by @Armilar/@Sternmiere/@Britzelpuf
- abgestimmt auf TFT 47 / v3.8.0 / BerryDriver 8 / Tasmota 12.3.1
TypeScript v3.8.1 zur Steuerung des SONOFF NSPanel mit dem ioBroker by @Armilar/@Sternmiere/@Britzelpuf
- abgestimmt auf TFT 47 / v3.8.1 / BerryDriver 8 / Tasmota 12.3.1
@joBr99 Projekt: https://github.com/joBr99/nspanel-lovelace-ui/tree/main/ioBroker
NsPanelTs.ts (dieses TypeScript in ioBroker) Stable: https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/NsPanelTs.ts
icon_mapping.ts: https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/icon_mapping.ts (TypeScript muss in global liegen)
@@ -112,6 +112,8 @@ ReleaseNotes:
- 03.01.2023 - v3.8.0 Bugfix for cardThermostat - Payload (Minor)
- 04.01.2023 - v3.8.0 Add Volumio-Player to cardMedia
- 05.01.2023 - v3.8.0 Upgrade TFT 47
- 06.01.2023 - v3.8.0 Add Volumio Tracklist
- 06.01.2023 - v3.8.1 HMI-Hotfix
*****************************************************************************************************************
* Falls Aliase durch das Skript erstellt werden sollen, muss in der JavaScript Instanz "setObect" gesetzt sein! *
@@ -185,7 +187,7 @@ Erforderliche Adapter:
Upgrades in Konsole:
Tasmota BerryDriver : Backlog UpdateDriverVersion https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/tasmota/autoexec.be; Restart 1
TFT EU STABLE Version : FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v3.8.0.tft
TFT EU STABLE Version : FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v3.8.1.tft
---------------------------------------------------------------------------------------
*/
let Icons = new IconsSelector();
@@ -380,7 +382,6 @@ export const config: Config = {
panelSendTopic: 'mqtt.0.SmartHome.NSPanel_1.cmnd.CustomSend', // anpassen
firstScreensaverEntity: { ScreensaverEntity: 'accuweather.0.Hourly.h0.PrecipitationProbability', ScreensaverEntityIcon: 'weather-pouring', ScreensaverEntityText: 'Regen', ScreensaverEntityUnitText: '%', ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 100} },
secondScreensaverEntity: { ScreensaverEntity: 'accuweather.0.Current.WindSpeed', ScreensaverEntityIcon: 'weather-windy', ScreensaverEntityText: "Wind", ScreensaverEntityUnitText: 'km/h', ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 120} },
//secondScreensaverEntity: { ScreensaverEntity: 'accuweather.0.Current.WindSpeed', ScreensaverEntityIcon: 'weather-windy', ScreensaverEntityText: "Wind", ScreensaverEntityUnitText: 'km/h', ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 120} },
thirdScreensaverEntity: { ScreensaverEntity: 'accuweather.0.Current.UVIndex', ScreensaverEntityIcon: 'solar-power', ScreensaverEntityText: 'UV', ScreensaverEntityUnitText: '', ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 9} },
fourthScreensaverEntity: { ScreensaverEntity: 'accuweather.0.Current.RelativeHumidity', ScreensaverEntityIcon: 'water-percent', ScreensaverEntityText: 'Luft', ScreensaverEntityUnitText: '%', ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 100, 'val_best': 65} },
alternativeScreensaverLayout: false,
@@ -390,96 +391,25 @@ export const config: Config = {
timeoutScreensaver: 20,
screenSaverDoubleClick: true,
locale: 'de-DE', // en-US, de-DE, nl-NL, da-DK, es-ES, fr-FR, it-IT, ru-RU, etc.
weatherEntity: 'alias.0.DasWetter', // Dieser Alias muss erstellt werden, damit die 4 kleineren Icons (Wetter oder DP) angezeigt werden können
weatherEntity: 'alias.0.Wetter', // Dieser Alias muss erstellt werden, damit die 4 kleineren Icons (Wetter oder DP) angezeigt werden können
defaultOffColor: Off,
defaultOnColor: On,
defaultColor: Off,
defaultBackgroundColor: HMIDark, //New Parameter
temperatureUnit: '°C',
pages: [
Level_0_Grundstueck,
Buero_Seite_1, //Beispiel-Seite
WLED, //Beispiel-Seite
Radiosender, //Beispiel-Seite
SensorGrid, //Beispiel-Seite
CardChartExample, //Beispiel-Seite
CardPowerExample, //Beispiel-Seite
//SqueezeboxRPC, //Beispiel-Seite
Sonos, //Beispiel-Seite
SpotifyPremium, //Beispiel-Seite
Alexa, //Beispiel-Seite
Buero_Seite_2, //Beispiel-Seite
Buero_Klimaanlage, //Beispiel-Seite
Button_1, //Beispiel-Seite
Test_Licht1, //Beispiel-Seite
Test_Licht2, //Beispiel-Seite
Test_Funktionen, //Beispiel-Seite
Fenster_1, //Beispiel-Seite
Subpages_1, //Beispiel-Seite
Buero_Themostat, //Beispiel-Seite
Buero_Alarm, //Beispiel-Seite
Service //Auto-Alias Service Page
],
subPages: [
Abfall, //Beispiel-Unterseite
WLAN, //Beispiel-Unterseite
NSPanel_Infos, //Auto-Alias Service Page
NSPanel_Einstellungen, //Auto-Alias Service Page
NSPanel_Firmware_Info, //Auto-Alias Service Page
Level_1_Haus,
Level_2_Erdgeschoss_1,
Level_3_Wohnzimmer,
Level_4_Wohnzimmer_Licht_1,
Level_4_Wohnzimmer_Licht_2,
Level_4_Wohnzimmer_Sensoren_1,
Level_4_Wohnzimmer_Aktoren,
Level_4_Wohnzimmer_Thermostat,
Level_3_Esszimmer,
Level_3_Buero,
Level_4_Buero_Licht,
Level_4_Buero_Sensoren_1,
Level_4_Buero_Sensoren_2,
Level_4_Buero_Aktoren,
Level_4_Buero_Thermostat,
Level_3_Kueche,
Level_3_Bad,
Level_2_Erdgeschoss_2,
Level_3_Kaminzimmer,
Level_3_GaesteWC,
Level_3_Hauswirtschaftsraum,
Level_3_FlurVorne,
Level_3_FlurHinten,
Level_1_Gartenhaus,
Level_2_GH_Licht,
Level_3_GH_Lampen_1,
Level_3_GH_Lampen_2,
Level_3_GH_Lampen_3,
Level_3_GH_Lampen_4,
Level_3_GH_LED_Stripes,
Level_3_GH_WLED,
Level_3_GH_Aussenlampen,
Level_2_GH_Sensoren_1,
Level_2_GH_Sensoren_2,
Level_2_GH_Aktoren_1,
Level_2_GH_Aktoren_2,
Level_2_GH_Heizkoerper,
Level_1_Aussen,
Level_1_Garage
],
button1Page: button1Page, //Beispiel-Seite auf Button 1, wenn Rule2 definiert - Wenn nicht definiert --> button1Page: null,
button2Page: button2Page //Beispiel-Seite auf Button 2, wenn Rule2 definiert - Wenn nicht definiert --> button1Page: null,
button1Page: null, //Beispiel-Seite auf Button 1, wenn Rule2 definiert - Wenn nicht definiert --> button1Page: null,
button2Page: null //Beispiel-Seite auf Button 2, wenn Rule2 definiert - Wenn nicht definiert --> button1Page: null,
};
// _________________________________ Ab hier keine Konfiguration mehr _____________________________________
@@ -1510,7 +1440,7 @@ function update_berry_driver_version() {
}
function update_tft_firmware() {
const tft_version: string = 'v3.8.0';
const tft_version: string = 'v3.8.1';
const desired_display_firmware_url = `http://nspanel.pky.eu/lovelace-ui/github/nspanel-${tft_version}.tft`;
try {
@@ -2670,9 +2600,9 @@ function GenerateThermoPage(page: PageThermo): Payload[] {
destTemp2 = getState(id + '.' + page.items[0].setThermoDestTemp2).val;
}
let thermoPopup = 0
let thermoPopup = 1
if (page.items[0].popupThermoMode1 != undefined) {
thermoPopup = 1;
thermoPopup = 0;
}
@@ -3969,6 +3899,19 @@ function HandleButtonEvent(words): void {
let strDevicePL = pageItemPL.playList[words[4]];
request({ url:`${getState(adapterInstancePL+'info.host').val}/api/commands/?cmd=playplaylist&name=${strDevicePL}`, headers: {'User-Agent': 'ioBroker'} },
async (error, response, result)=>{}); /* nothing todo @ error */
setTimeout(async function () {
request({ url: `${getState(adapterInstancePL+'info.host').val}/api/getQueue`, headers: {'User-Agent': 'ioBroker'} },
async (error, response, result) => {
try {
const QUEUELIST = JSON.parse(result);
globalTracklist = QUEUELIST.queue;
if (Debug) { for (let i_index in QUEUELIST.queue) console.log(QUEUELIST.queue[i_index]); }
} catch (err) {
console.log('get_volumio-queue: ' + err.message);
}
}
);
}, 2000);
break;
}
break;
@@ -3986,6 +3929,10 @@ function HandleButtonEvent(words): void {
case 'alexa2':
console.log('Aktuell hat alexa2 keine Tracklist')
break;
case 'volumio':
request({ url:`${getState(adapterInstanceTL+'info.host').val}/api/commands/?cmd=play&N=${words[4]}`, headers: {'User-Agent': 'ioBroker'} },
async (error, response, result)=>{}); /* nothing todo @ error */
break;
}
break;
case 'mode-repeat':
@@ -4230,13 +4177,6 @@ function GetNavigationString(pageId: number): string {
console.log(pageId);
}
// left navigation arrow | right navigation arrow
// X|X
// 0 = no arrow
// 1|1 = right and left navigation arrow
// 2|0 = (right) up navigation arrow
// 2|2 = (right) up navigation arrow | (left) home navigation icon
if (activePage.subPage && activePage.prev == undefined && activePage.next == undefined) {
return 'button~bUp~' + Icons.GetIcon('arrow-up-bold') + '~' + rgb_dec565(White) + '~~~button~bHome~' + Icons.GetIcon('home') + '~' + rgb_dec565(White) + '~~';
} else if (activePage.subPage && activePage.prev == undefined && activePage.next != undefined) {
@@ -4902,16 +4842,27 @@ function GenerateDetailPage(type: string, optional: string, pageItem: PageItem):
} /**/
mode = 'playlist';
} else if (optional == 'tracklist') {
actualState = ''
actualState = '';
/* Volumio: works for files */
if (vAdapter == 'volumio') {
actualState = getState(pageItem.id + '.TITLE').val;
} else {
actualState = getState(pageItem.adapterPlayerInstance + 'player.trackName').val;
}
actualState = getState(pageItem.adapterPlayerInstance + 'player.trackName').val;
actualState = (actualState.replace('?','')).split(' -');
actualState = actualState[0].split(" (");
actualState = formatInSelText(actualState[0]);
//Limit 900 Zeichen, danach Speicherüberlauf --> Soweit kürzen wie möglich
//Limit 900 Zeichen, danach Speicherüberlauf --> Soweit kürzen wie möglich
let temp_array = [];
//let trackArray = (function () { try {return JSON.parse(getState(pageItem.adapterPlayerInstance + 'player.playlist.trackListArray').val);} catch(e) {return {};}})();
for (let track_index=0; track_index < 45; track_index++) {
let temp_cut_array = getAttr(globalTracklist, track_index + '.title');
/* Volumio: @local/NAS no title -> name */
if (temp_cut_array == undefined) {
temp_cut_array = getAttr(globalTracklist, track_index + '.name');
}
if (Debug) console.log(temp_cut_array);
if (temp_cut_array != undefined) {
temp_cut_array = (temp_cut_array.replace('?','')).split(' -');
temp_cut_array = temp_cut_array[0].split(" (");
@@ -6121,6 +6072,7 @@ type PageItem = {
playList: (string[] | undefined),
equalizerList: (string[] | undefined),
repeatList: (string[] | undefined),
globalTracklist: (string[] | undefined),
modeList: (string[] | undefined),
hidePassword: (boolean | undefined),
autoCreateALias: (boolean | undefined)