mirror of
https://github.com/joBr99/nspanel-lovelace-ui.git
synced 2025-12-20 22:47:01 +01:00
Compare commits
32 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ffcd872f4a | ||
|
|
d34a835363 | ||
|
|
40d17f9641 | ||
|
|
9eb543467b | ||
|
|
86594de18d | ||
|
|
14efa10683 | ||
|
|
7f38c6b346 | ||
|
|
17cf7d40c5 | ||
|
|
9ff8506035 | ||
|
|
757ffcd129 | ||
|
|
ac96ff595a | ||
|
|
7c1fe558f9 | ||
|
|
98ec0aca45 | ||
|
|
df105a2233 | ||
|
|
a33c58941c | ||
|
|
33c0c4402f | ||
|
|
1529115fb5 | ||
|
|
210b90ff8f | ||
|
|
e9a69651d7 | ||
|
|
e576af72b7 | ||
|
|
e5e88e3a5e | ||
|
|
957cde8384 | ||
|
|
ddc8818aae | ||
|
|
252339d36c | ||
|
|
0803dd5214 | ||
|
|
586af0aac3 | ||
|
|
65032dc3a0 | ||
|
|
a6c617fc44 | ||
|
|
f0a3a04edb | ||
|
|
df8e913831 | ||
|
|
d78a6c4ed7 | ||
|
|
cb542f1e77 |
@@ -1424,6 +1424,10 @@ Timer tmSerial
|
||||
{
|
||||
page cardChart
|
||||
}
|
||||
if(tId.txt=="cardLChart")
|
||||
{
|
||||
page cardLChart
|
||||
}
|
||||
}
|
||||
if(tInstruction.txt=="time")
|
||||
{
|
||||
|
||||
@@ -1710,6 +1710,10 @@ Timer tmSerial
|
||||
{
|
||||
page cardChart
|
||||
}
|
||||
if(tId.txt=="cardLChart")
|
||||
{
|
||||
page cardLChart
|
||||
}
|
||||
}
|
||||
if(tInstruction.txt=="time")
|
||||
{
|
||||
|
||||
@@ -1741,6 +1741,10 @@ Timer tmSerial
|
||||
{
|
||||
page cardChart
|
||||
}
|
||||
if(tId.txt=="cardLChart")
|
||||
{
|
||||
page cardLChart
|
||||
}
|
||||
}
|
||||
if(tInstruction.txt=="time")
|
||||
{
|
||||
|
||||
@@ -72,20 +72,20 @@ cardThermo
|
||||
319 Unique line(s) of event code
|
||||
cardGrid
|
||||
44 Component(s)
|
||||
579 Line(s) of event code
|
||||
330 Unique line(s) of event code
|
||||
cardMedia
|
||||
59 Component(s)
|
||||
699 Line(s) of event code
|
||||
354 Unique line(s) of event code
|
||||
583 Line(s) of event code
|
||||
332 Unique line(s) of event code
|
||||
cardGrid2
|
||||
52 Component(s)
|
||||
693 Line(s) of event code
|
||||
384 Unique line(s) of event code
|
||||
popupLight
|
||||
28 Component(s)
|
||||
412 Line(s) of event code
|
||||
227 Unique line(s) of event code
|
||||
cardGrid2
|
||||
52 Component(s)
|
||||
689 Line(s) of event code
|
||||
382 Unique line(s) of event code
|
||||
cardMedia
|
||||
59 Component(s)
|
||||
703 Line(s) of event code
|
||||
356 Unique line(s) of event code
|
||||
cardEntities
|
||||
67 Component(s)
|
||||
1194 Line(s) of event code
|
||||
@@ -98,5 +98,5 @@ screensaver2
|
||||
Total
|
||||
23 Page(s)
|
||||
875 Component(s)
|
||||
10556 Line(s) of event code
|
||||
10568 Line(s) of event code
|
||||
2450 Unique line(s) of event code
|
||||
|
||||
@@ -976,6 +976,10 @@ Timer tmSerial
|
||||
{
|
||||
page cardChart
|
||||
}
|
||||
if(tId.txt=="cardLChart")
|
||||
{
|
||||
page cardLChart
|
||||
}
|
||||
}
|
||||
if(tInstruction.txt=="time")
|
||||
{
|
||||
|
||||
@@ -1174,6 +1174,10 @@ Timer tmSerial
|
||||
{
|
||||
page cardChart
|
||||
}
|
||||
if(tId.txt=="cardLChart")
|
||||
{
|
||||
page cardLChart
|
||||
}
|
||||
}
|
||||
if(tInstruction.txt=="time")
|
||||
{
|
||||
|
||||
@@ -1253,6 +1253,10 @@ Timer tmSerial
|
||||
{
|
||||
page cardChart
|
||||
}
|
||||
if(tId.txt=="cardLChart")
|
||||
{
|
||||
page cardLChart
|
||||
}
|
||||
}
|
||||
if(tInstruction.txt=="time")
|
||||
{
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,4 +1,4 @@
|
||||
+++ /dev/fd/62 2023-09-16 10:55:16.569411880 +0000
|
||||
+++ /dev/fd/62 2023-10-14 14:36:40.102098093 +0000
|
||||
+I/n2t-out/Program.s.txt
|
||||
++ HMI/US/portrait/n2t-out/Program.s.txt
|
||||
+1 +12,11 @@
|
||||
|
||||
@@ -1424,6 +1424,10 @@ Timer tmSerial
|
||||
{
|
||||
page cardChart
|
||||
}
|
||||
if(tId.txt=="cardLChart")
|
||||
{
|
||||
page cardLChart
|
||||
}
|
||||
}
|
||||
if(tInstruction.txt=="time")
|
||||
{
|
||||
|
||||
@@ -1853,6 +1853,10 @@ Timer tmSerial
|
||||
{
|
||||
page cardChart
|
||||
}
|
||||
if(tId.txt=="cardLChart")
|
||||
{
|
||||
page cardLChart
|
||||
}
|
||||
}
|
||||
if(tInstruction.txt=="time")
|
||||
{
|
||||
|
||||
@@ -1741,6 +1741,10 @@ Timer tmSerial
|
||||
{
|
||||
page cardChart
|
||||
}
|
||||
if(tId.txt=="cardLChart")
|
||||
{
|
||||
page cardLChart
|
||||
}
|
||||
}
|
||||
if(tInstruction.txt=="time")
|
||||
{
|
||||
|
||||
@@ -38,10 +38,10 @@ cardChart
|
||||
33 Component(s)
|
||||
437 Line(s) of event code
|
||||
296 Unique line(s) of event code
|
||||
cardGrid
|
||||
44 Component(s)
|
||||
579 Line(s) of event code
|
||||
330 Unique line(s) of event code
|
||||
cardGrid2
|
||||
56 Component(s)
|
||||
748 Line(s) of event code
|
||||
410 Unique line(s) of event code
|
||||
cardLChart
|
||||
33 Component(s)
|
||||
402 Line(s) of event code
|
||||
@@ -62,14 +62,14 @@ popupInSel
|
||||
34 Component(s)
|
||||
621 Line(s) of event code
|
||||
297 Unique line(s) of event code
|
||||
cardGrid
|
||||
44 Component(s)
|
||||
583 Line(s) of event code
|
||||
332 Unique line(s) of event code
|
||||
cardAlarm
|
||||
43 Component(s)
|
||||
500 Line(s) of event code
|
||||
273 Unique line(s) of event code
|
||||
cardMedia
|
||||
59 Component(s)
|
||||
699 Line(s) of event code
|
||||
354 Unique line(s) of event code
|
||||
cardThermo
|
||||
57 Component(s)
|
||||
540 Line(s) of event code
|
||||
@@ -90,13 +90,13 @@ cardEntities
|
||||
91 Component(s)
|
||||
1666 Line(s) of event code
|
||||
711 Unique line(s) of event code
|
||||
cardGrid2
|
||||
56 Component(s)
|
||||
744 Line(s) of event code
|
||||
408 Unique line(s) of event code
|
||||
cardMedia
|
||||
59 Component(s)
|
||||
703 Line(s) of event code
|
||||
356 Unique line(s) of event code
|
||||
|
||||
Total
|
||||
23 Page(s)
|
||||
890 Component(s)
|
||||
11017 Line(s) of event code
|
||||
11029 Line(s) of event code
|
||||
2600 Unique line(s) of event code
|
||||
|
||||
@@ -976,6 +976,10 @@ Timer tmSerial
|
||||
{
|
||||
page cardChart
|
||||
}
|
||||
if(tId.txt=="cardLChart")
|
||||
{
|
||||
page cardLChart
|
||||
}
|
||||
}
|
||||
if(tInstruction.txt=="time")
|
||||
{
|
||||
|
||||
@@ -1273,6 +1273,10 @@ Timer tmSerial
|
||||
{
|
||||
page cardChart
|
||||
}
|
||||
if(tId.txt=="cardLChart")
|
||||
{
|
||||
page cardLChart
|
||||
}
|
||||
}
|
||||
if(tInstruction.txt=="time")
|
||||
{
|
||||
|
||||
@@ -1253,6 +1253,10 @@ Timer tmSerial
|
||||
{
|
||||
page cardChart
|
||||
}
|
||||
if(tId.txt=="cardLChart")
|
||||
{
|
||||
page cardLChart
|
||||
}
|
||||
}
|
||||
if(tInstruction.txt=="time")
|
||||
{
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -1424,6 +1424,10 @@ Timer tmSerial
|
||||
{
|
||||
page cardChart
|
||||
}
|
||||
if(tId.txt=="cardLChart")
|
||||
{
|
||||
page cardLChart
|
||||
}
|
||||
}
|
||||
if(tInstruction.txt=="time")
|
||||
{
|
||||
|
||||
@@ -1710,6 +1710,10 @@ Timer tmSerial
|
||||
{
|
||||
page cardChart
|
||||
}
|
||||
if(tId.txt=="cardLChart")
|
||||
{
|
||||
page cardLChart
|
||||
}
|
||||
}
|
||||
if(tInstruction.txt=="time")
|
||||
{
|
||||
|
||||
@@ -1741,6 +1741,10 @@ Timer tmSerial
|
||||
{
|
||||
page cardChart
|
||||
}
|
||||
if(tId.txt=="cardLChart")
|
||||
{
|
||||
page cardLChart
|
||||
}
|
||||
}
|
||||
if(tInstruction.txt=="time")
|
||||
{
|
||||
|
||||
@@ -36,8 +36,8 @@ popupNotify
|
||||
172 Unique line(s) of event code
|
||||
cardGrid
|
||||
44 Component(s)
|
||||
579 Line(s) of event code
|
||||
330 Unique line(s) of event code
|
||||
583 Line(s) of event code
|
||||
332 Unique line(s) of event code
|
||||
cardQR
|
||||
34 Component(s)
|
||||
410 Line(s) of event code
|
||||
@@ -62,14 +62,10 @@ cardThermo
|
||||
57 Component(s)
|
||||
540 Line(s) of event code
|
||||
319 Unique line(s) of event code
|
||||
cardGrid2
|
||||
52 Component(s)
|
||||
689 Line(s) of event code
|
||||
382 Unique line(s) of event code
|
||||
cardMedia
|
||||
59 Component(s)
|
||||
699 Line(s) of event code
|
||||
354 Unique line(s) of event code
|
||||
703 Line(s) of event code
|
||||
356 Unique line(s) of event code
|
||||
popupInSel
|
||||
34 Component(s)
|
||||
621 Line(s) of event code
|
||||
@@ -90,6 +86,10 @@ popupThermo
|
||||
44 Component(s)
|
||||
523 Line(s) of event code
|
||||
276 Unique line(s) of event code
|
||||
cardGrid2
|
||||
52 Component(s)
|
||||
693 Line(s) of event code
|
||||
384 Unique line(s) of event code
|
||||
cardEntities
|
||||
67 Component(s)
|
||||
1194 Line(s) of event code
|
||||
@@ -98,5 +98,5 @@ cardEntities
|
||||
Total
|
||||
23 Page(s)
|
||||
878 Component(s)
|
||||
10576 Line(s) of event code
|
||||
10588 Line(s) of event code
|
||||
2459 Unique line(s) of event code
|
||||
|
||||
@@ -976,6 +976,10 @@ Timer tmSerial
|
||||
{
|
||||
page cardChart
|
||||
}
|
||||
if(tId.txt=="cardLChart")
|
||||
{
|
||||
page cardLChart
|
||||
}
|
||||
}
|
||||
if(tInstruction.txt=="time")
|
||||
{
|
||||
|
||||
@@ -1174,6 +1174,10 @@ Timer tmSerial
|
||||
{
|
||||
page cardChart
|
||||
}
|
||||
if(tId.txt=="cardLChart")
|
||||
{
|
||||
page cardLChart
|
||||
}
|
||||
}
|
||||
if(tInstruction.txt=="time")
|
||||
{
|
||||
|
||||
@@ -1253,6 +1253,10 @@ Timer tmSerial
|
||||
{
|
||||
page cardChart
|
||||
}
|
||||
if(tId.txt=="cardLChart")
|
||||
{
|
||||
page cardLChart
|
||||
}
|
||||
}
|
||||
if(tInstruction.txt=="time")
|
||||
{
|
||||
|
||||
BIN
HMI/nspanel.HMI
BIN
HMI/nspanel.HMI
Binary file not shown.
BIN
HMI/nspanel.tft
BIN
HMI/nspanel.tft
Binary file not shown.
@@ -64,3 +64,4 @@ SmartHomeNG: https://github.com/sisamiwe/shng-nspanel-plugin
|
||||
|
||||
OpenHAB: https://github.com/donoo/o2n2l
|
||||
|
||||
NodeRed: https://github.com/laluz742/node-red-contrib-nspanel-lui
|
||||
|
||||
@@ -418,7 +418,7 @@ class LuiPagesGen(object):
|
||||
font = 3
|
||||
elif isinstance(item.font, int):
|
||||
font = item.font
|
||||
icon_id += f'{icon_id}¬{font}'
|
||||
icon_id = f'{icon_id}¬{font}'
|
||||
return f"~{entityTypePanel}~{entityId}~{icon_id}~{color}~{name}~{value}"
|
||||
|
||||
def generate_entities_page(self, navigation, heading, items, cardType, tempUnit):
|
||||
|
||||
@@ -57,8 +57,8 @@
|
||||
"comfort": "Komfort",
|
||||
"eco": "Eko",
|
||||
"home": "Doma",
|
||||
"none": "Žiadny",
|
||||
"sleep": "Pohotovostný režim"
|
||||
"none": "Žiadna",
|
||||
"sleep": "Spánok"
|
||||
}
|
||||
},
|
||||
"humidifier": {
|
||||
|
||||
@@ -27,11 +27,14 @@ After a reboot of tasmota your screen will light up with the stock display firmw
|
||||
Go to `Consoles` > `Console` in Tasmota and execute the following command:
|
||||
|
||||
```
|
||||
Backlog UrlFetch https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/tasmota/autoexec.be; Restart 1
|
||||
Backlog UrlFetch https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/tasmota/autoexec.be; SetOption151 0;Restart 1
|
||||
```
|
||||
|
||||
This will download the autoexec.be file from the repository and restart tasmota.
|
||||
|
||||
Note: The command is also disabling matter to free up memory, as it's most likely not used by any homeassistant users anyway.
|
||||
(Matter could cause memory issues during flashing of the Nextion Screen, but you can still enable it if you need to.)
|
||||
|
||||
## Flash Firmware to Nextion Screen
|
||||
|
||||
Due the limitations of Berry, it's not possible to download the tft file directly from github, so I'm also renting a small server where you can download the file via HTTP.
|
||||
|
||||
@@ -1,11 +1,17 @@
|
||||
/*-----------------------------------------------------------------------
|
||||
TypeScript v4.2.1.5 zur Steuerung des SONOFF NSPanel mit dem ioBroker by @Armilar / @TT-Tom / @Sternmiere / @Britzelpuf / @ravenS0ne
|
||||
- abgestimmt auf TFT 52 / v4.2.1 / BerryDriver 8 / Tasmota 13.1.0
|
||||
TypeScript v4.3.1.7 zur Steuerung des SONOFF NSPanel mit dem ioBroker by @Armilar / @TT-Tom / @Sternmiere / @Britzelpuf / @ravenS0ne
|
||||
- abgestimmt auf TFT 53 / v4.3.1 / BerryDriver 9 / Tasmota 13.1.0
|
||||
@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)
|
||||
ioBroker-Unterstützung: https://forum.iobroker.net/topic/50888/sonoff-nspanel
|
||||
WIKI zu diesem Projekt unter: https://github.com/joBr99/nspanel-lovelace-ui/wiki (siehe Sidebar)
|
||||
@Kuckuckmann: WIKI zu diesem Projekt unter: https://github.com/joBr99/nspanel-lovelace-ui/wiki (siehe Sidebar)
|
||||
|
||||
***************************************************************************************************************
|
||||
Achtung: Keine Beispiele mehr im Script. Die Beispiele sind jetzt unter nachfolgendem Link zu finden:
|
||||
- https://github.com/joBr99/nspanel-lovelace-ui/wiki/NSPanel-Page-%E2%80%90-Typen_How-2_Beispiele
|
||||
***************************************************************************************************************
|
||||
|
||||
Icons unter: https://htmlpreview.github.io/?https://github.com/jobr99/Generate-HASP-Fonts/blob/master/cheatsheet.html
|
||||
|
||||
************************************************************************************************
|
||||
@@ -162,10 +168,21 @@ ReleaseNotes:
|
||||
- 02.09.2023 - v4.2.1.4 Add dynamically USERICON to Alias info
|
||||
- 04.09.2023 - v4.2.1.5 Fix Debug with 0_userdata.0...
|
||||
- 04.09.2023 - v4.2.1.5 Add minValue/maxValue to Blinds
|
||||
- 15.09.2023 - v4.2.1.6 Fix ServicePage Dimmode 'next' -> 'home'
|
||||
- 15.09.2023 - v4.2.1.6 Fix Log '.USERICON' to Debug.log
|
||||
- 15.09.2023 - v4.2.1.6 Fix Link PowerIcon to Alias (Thermocard)
|
||||
- 17.09.2023 - v4.3.1 Upgrade TFT 53 / 4.3.1
|
||||
- 17.09.2023 - v4.3.1.1 Add Parameter fontSize (0-4) to cardGrid (with useValue)
|
||||
- 23.09.2023 - v4.3.1.2 Upgrade BerryDriver v9
|
||||
- 23.09.2023 - v4.3.1.3 Fix - Change ServivceMenu from Fake-SSId to real Tasmota-SSIdParam
|
||||
- 03.10.2023 - v4.3.1.4 Removing the examples from the NSPanelTs.ts --> https://github.com/joBr99/nspanel-lovelace-ui/wiki/NSPanel-Page-%E2%80%90-Typen_How-2_Beispiele
|
||||
- 03.10.2023 - v4.3.1.4 Delete NsPanelTs_without_Examples.ts
|
||||
- 12.10.2023 - v4.3.1.5 Fix Datapoint for Role timetable -> Attention use new script from TT-Tom https://github.com/tt-tom17/MyScripts/blob/main/Sonoff_NSPanel/Fahrplan_to_NSPanel.ts
|
||||
- 19.10.2023 - v4.3.1.6 Add more Alias Device-Types to Navigation (createEntity) / Minor Fixes
|
||||
- 22.10.2023 - v4.3.1.7 Fix CreateEntity (navigate) role 'light' and 'socket' and 'temperature'
|
||||
|
||||
Next Release with TFT DEV (always implemented)
|
||||
- 25.08.2023 - v4.3.0 Add Parameter fontSize (0-4) to cardGrid (with useValue)
|
||||
|
||||
Todo:
|
||||
- XX.XX.XXXX - v4.4.0 Change the bottomScreensaverEntity (rolling) if more than 6 entries are defined
|
||||
|
||||
***********************************************************************************************************
|
||||
* Für die Erstellung der Aliase durch das Skript, muss in der JavaScript Instanz "setObect" gesetzt sein! *
|
||||
@@ -247,16 +264,15 @@ Tasmota-Status0 - (zyklische Ausführung)
|
||||
|
||||
Erforderliche Adapter:
|
||||
|
||||
AccuWeather: - Bei Nutzung der Wetterfunktionen (und zur Icon-Konvertierung) im Screensaver
|
||||
AccuWeather oder DasWetter: - Bei Nutzung der Wetterfunktionen (und zur Icon-Konvertierung) im Screensaver
|
||||
Alexa2: - Bei Nutzung der dynamischen SpeakerList in der cardMedia
|
||||
Geräte verwalten - Für Erstellung der Aliase
|
||||
Alias-Manager - !!! ausschließlich für MEDIA-Alias
|
||||
MQTT-Adapter - Für Kommunikation zwischen Skript und Tasmota
|
||||
JavaScript-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-v4.2.1.tft
|
||||
TFT EU STABLE Version : FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v4.3.1.tft
|
||||
---------------------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
@@ -369,406 +385,10 @@ const swSnowyRainy: RGB = { red: 150, green: 150, blue: 255};
|
||||
const swSunny: RGB = { red: 255, green: 255, blue: 0};
|
||||
const swWindy: RGB = { red: 150, green: 150, blue: 150};
|
||||
|
||||
//-- Anfang der Beispiele für Seitengestaltung -- Selbstdefinierte Aliase erforderlich ----------------
|
||||
//-- Anfang der Beispiele für Seitengestaltung -- Selbstdefinierte Aliase erforderlich -----------------------
|
||||
//-- siehe https://github.com/joBr99/nspanel-lovelace-ui/wiki/NSPanel-Page-%E2%80%90-Typen_How-2_Beispiele
|
||||
|
||||
let Test_Licht1 = <PageEntities>
|
||||
{
|
||||
'type': 'cardEntities',
|
||||
'heading': 'Color Aliase 1',
|
||||
'useColor': true,
|
||||
'items': [
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.TestRGBLichteinzeln', name: 'RGB-Licht Hex-Color', interpolateColor: true},
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.TestRGBLicht', name: 'RGB-Licht', minValueBrightness: 0, maxValueBrightness: 100, interpolateColor: true},
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.TestCTmitHUE', name: 'HUE-Licht-CT', minValueBrightness: 0, maxValueBrightness: 70, minValueColorTemp: 500, maxValueColorTemp: 6500, interpolateColor: true},
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.TestHUELicht', name: 'HUE-Licht-Color', minValueColorTemp: 500, maxValueColorTemp: 6500, interpolateColor: true}
|
||||
]
|
||||
};
|
||||
|
||||
let CardChartExample = <PageChart>
|
||||
{
|
||||
'type': 'cardChart',
|
||||
'heading': 'Stromzähler L1+L2+L3',
|
||||
'useColor': true,
|
||||
'items': [<PageItem>{
|
||||
id: 'alias.0.NSPanel_1.cardChart',
|
||||
yAxis: 'Leistung [kW]',
|
||||
yAxisTicks: [2,4,6,8,10,2,4,6,8,20,2],
|
||||
onColor: Yellow
|
||||
}]
|
||||
};
|
||||
|
||||
//Only DEV --> Test
|
||||
let CardLChartExample = <PageChart>
|
||||
{
|
||||
'type': 'cardLChart',
|
||||
'heading': 'Büro Temperatur',
|
||||
'useColor': true,
|
||||
'items': [<PageItem>{
|
||||
id: 'alias.0.Haus.Erdgeschoss.Buero.Charts.Temperatur',
|
||||
yAxis: 'Temperatur [°C]',
|
||||
yAxisTicks: [-250, -200, -150, -100,-50, 0, 50, 100, 150, 200, 250, 300],
|
||||
onColor: Yellow
|
||||
}]
|
||||
};
|
||||
|
||||
let CardPowerExample = <PagePower>
|
||||
{
|
||||
'type': 'cardPower',
|
||||
'heading': 'cardPower Emulator',
|
||||
'useColor': true,
|
||||
'items': [
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.Power.PowerCard' },
|
||||
// <PageItem>{ } // aktivieren für Demomodus der PowerCard, dafür ersten PageItem auskommentieren
|
||||
]
|
||||
};
|
||||
|
||||
let Test_Licht2 = <PageEntities>
|
||||
{
|
||||
'type': 'cardEntities',
|
||||
'heading': 'Color Aliase 2',
|
||||
'useColor': true,
|
||||
'items': [
|
||||
//Beispiel für RGB Light mit neuem PageItem-Parameter colormode: "xy" alternativ colormode: "rgb" oder weglassen
|
||||
//Steuert im z.B. DeConz Adapter unter Lampen die Farben per CIE (XY)
|
||||
<PageItem>{ id: "alias.0.NSPanel_2.WZ_E14_Fenster_rechts", name: 'Fensterbank rechts', minValueBrightness: 0, maxValueBrightness: 100, minValueColorTemp: 500, maxValueColorTemp: 150, interpolateColor: true, colormode: 'xy'},
|
||||
<PageItem>{ id: "alias.0.NSPanel_1.TestFarbtemperatur", name: 'Farbtemperatur', interpolateColor: true},
|
||||
<PageItem>{ id: "alias.0.NSPanel_1.TestFarbtemperatur", prefixName: 'Büro: ', name: "getState('0_userdata.0.Test.Wiki_Router').val", suffixName: '%', interpolateColor: true},
|
||||
]
|
||||
};
|
||||
|
||||
let Test_Funktionen = <PageEntities>
|
||||
{
|
||||
'type': 'cardEntities',
|
||||
'heading': 'Sonstige Aliase',
|
||||
'useColor': true,
|
||||
'items': [
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.TestLautstärke', offColor: MSRed, 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 , colorScale: {'val_min': -20, 'val_max': 40, 'val_best': 20} },
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.TestFeuchtigkeit', name: 'Luftfeuchte außen', icon: 'water-percent', unit: '%H', onColor: White, colorScale: {'val_min': 0, 'val_max': 100, 'val_best': 65} },
|
||||
//<PageItem>{ id: 'alias.0.NSPanel_1.TestInfo', name: 'Windstärke', icon: 'wind-power-outline', offColor: MSRed, onColor: MSGreen, unit: 'bft', minValue: 0, maxValue: 12, interpolateColor: true, useColor: true },
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.Ventilator.Fan_1',name: 'Ventilator', icon: 'fan', onColor: On, offColor: HMIOff, modeList: ['Low', 'Medium', 'High', 'Move', 'Sleep', 'Auto', 'Manual']},
|
||||
]
|
||||
};
|
||||
|
||||
let Buero_Seite_1 = <PageEntities>
|
||||
{
|
||||
'type': 'cardEntities',
|
||||
'heading': 'Büro',
|
||||
'useColor': true,
|
||||
'items': [
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.Schreibtischlampe', 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.Luftreiniger', icon: 'power', icon2: 'power',offColor: MSRed, onColor: MSGreen}
|
||||
]
|
||||
};
|
||||
|
||||
let Fenster_1 = <PageEntities>
|
||||
{
|
||||
'type': 'cardEntities',
|
||||
'heading': 'Fenster und Türen',
|
||||
'useColor': true,
|
||||
'items': [
|
||||
<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.TestBlind', icon: "blinds-horizontal", offColor: White, onColor: Yellow, name: 'Büro', secondRow: 'Hier Text für 2. Zeile'},
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.TestDoorlock', offColor: MSRed, onColor: MSGreen, name: 'Türschloss'},
|
||||
]
|
||||
};
|
||||
|
||||
let Button_1 = <PageEntities>
|
||||
{
|
||||
'type': 'cardEntities',
|
||||
'heading': 'Button Aliase',
|
||||
'useColor': true,
|
||||
'items': [
|
||||
<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, buttonText: 'starten'},
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.TestVentil1', icon: 'valve-open', icon2: 'valve-closed',offColor: MSRed, onColor: MSGreen, name: 'Test-Ventil 1'},
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.Radio.NDR2', icon: 'alarm-light', name: 'Alert mit Zielseite', offColor: MSGreen, onColor: MSRed, targetPage: 'Abfall', buttonText: 'Popup'},
|
||||
]
|
||||
};
|
||||
|
||||
let Subpages_1 = <PageEntities>
|
||||
{
|
||||
'type': 'cardEntities',
|
||||
'heading': 'Test Subpages',
|
||||
'useColor': true,
|
||||
'items': [
|
||||
<PageItem>{ navigate: true, id: 'alias.0.NSPanel_1.Abfall.event1', targetPage: 'Abfall', name: 'Abfallkalender'},
|
||||
<PageItem>{ navigate: true, id: null, targetPage: 'WLAN', onColor: White, name: 'Gäste WLAN'},
|
||||
]
|
||||
};
|
||||
|
||||
//Subpage 1 von Subpages_1
|
||||
let Abfall = <PageEntities>
|
||||
{
|
||||
'type': 'cardEntities',
|
||||
'heading': 'Abfallkalender',
|
||||
'useColor': true,
|
||||
'subPage': true,
|
||||
'parent': Subpages_1,
|
||||
'items': [
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.Abfall.event1',icon: 'trash-can'},
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.Abfall.event2',icon: 'trash-can'},
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.Abfall.event3',icon: 'trash-can'},
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.Abfall.event4',icon: 'trash-can'}
|
||||
]
|
||||
};
|
||||
|
||||
//Subpage 2 von Subpages_1
|
||||
let WLAN = <PageQR>
|
||||
{
|
||||
'type': 'cardQR',
|
||||
'heading': 'Gäste WLAN',
|
||||
'useColor': true,
|
||||
'subPage': true,
|
||||
'parent': Subpages_1,
|
||||
'items': [<PageItem>{ id: 'alias.0.NSPanel_1.Guest_Wifi', hidePassword: false }]
|
||||
};
|
||||
|
||||
let Buero_Seite_2 = <PageGrid2>
|
||||
{
|
||||
'type': 'cardGrid2',
|
||||
'heading': 'Büro 2',
|
||||
'useColor': true,
|
||||
'items': [
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.Schreibtischlampe', name: 'Schreibtisch'},
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.Deckenbeleuchtung', name: 'Deckenlampe'},
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.TestFenster', offColor: MSRed, onColor: MSGreen, name: 'Büro Fenster'},
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.Luftreiniger', icon: 'power', offColor: MSRed, onColor: MSGreen},
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.TestBlind', icon: 'projector-screen', onColor: White, name: 'Beamer', secondRow: 'auch Text'},
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.Kippfenster', useValue: true },
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.Radio.Bob', icon: 'play', onColor: White, name: 'TuneIn'}
|
||||
]
|
||||
};
|
||||
|
||||
let Radiosender = <PageGrid>
|
||||
{
|
||||
'type': 'cardGrid',
|
||||
'heading': 'Büro 2',
|
||||
'useColor': true,
|
||||
'items': [
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.Radio.Bob', icon: 'radio', name: 'Radio BOB', onColor: colorRadio},
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.Countdown', icon: 'timer-outline', name: 'Timer', onColor: White}
|
||||
]
|
||||
};
|
||||
|
||||
let WLED = <PageGrid>
|
||||
{
|
||||
'type': 'cardGrid',
|
||||
'heading': 'WLED Stripes WZ',
|
||||
'useColor': true,
|
||||
'items': [
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.WLED.Example.On', name: 'Power', icon: 'power', onColor: HMIOn, offColor: HMIOff},
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.WLED.Example.Sync', name: 'Sync', icon: 'sync', onColor: HMIOn, offColor: White},
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.WLED.Example.Presets', icon: 'heart-outline', name: 'Presets', onColor: White, modeList: ['Preset 0', 'Add Preset']},
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.WLED.Example.Colors', icon: 'palette', name: 'Colors', onColor: White,
|
||||
modeList: ['Default', '* Color 1', '* Color Gradient', '* Colors 1&2', '* Colors Only', '* Random Cycle', 'Analogus','April Night', 'Aqua Flash', 'Atlantica', 'Aurora',
|
||||
'Beach', 'Beech', 'Blink Red', 'Breeze', 'C9', 'C9 New', 'Candy', 'Candy2', 'Cloud',
|
||||
'Cyane', 'Departure', 'Drywet', 'Fairy Reaf', 'Fire', 'Forest', 'etc'
|
||||
]},
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.WLED.Example.Effects', icon: 'emoticon-outline', name: 'Effects', onColor: White,
|
||||
modeList: ['Solid', 'Android', 'Aurora', 'Blends', 'Blink', 'Blink Rainbow', 'Bouncing Balls','Bpm', 'Breathe', 'Candle', 'Candle Multi',
|
||||
'Candy Cane', 'Chase', 'Chase 1', 'Chase 2', 'Chase 3', 'Chase Flash', 'Chase Flash Rnd', 'Chase Rainbow', 'Chase Random',
|
||||
'Chunchun', 'Colorful', 'Colorloop', 'Colortwinkles', 'Colorwaves', 'Dancing Shadows', 'etc'
|
||||
]},
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.WLED.Example.Segments', icon: 'layers', name: 'Segments', onColor: White, modeList: ['Segment 0', 'Add Segment']},
|
||||
]
|
||||
};
|
||||
|
||||
let SensorGrid = <PageGrid>
|
||||
{
|
||||
'type': 'cardGrid',
|
||||
'heading': 'Sensor Werte',
|
||||
'useColor': true,
|
||||
'items': [
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.TestTemperatur', name: 'Außentemp. °C', offColor: MSRed, onColor: MSGreen, useValue: true, colorScale: {'val_min': -20, 'val_max': 40, 'val_best': 20} },
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.TestFeuchtigkeit', name: 'Luftfeuchte %', offColor: MSYellow, onColor: MSYellow , useValue: true, colorScale: {'val_min': 0, 'val_max': 100, 'val_best': 65} },
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.Taupunkt', name: 'Taupunkt °C', offColor: MSRed, onColor: MSGreen, useValue: true, colorScale: {'val_min': -20, 'val_max': 40, 'val_best': 20} },
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.UV_Index', name: 'UV Index', offColor: White , onColor: White, useValue: true, colorScale: {'val_min': 0, 'val_max': 12} },
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.Windstaerke', name: 'Windstärke bft', offColor: White , onColor: White, useValue: true, colorScale: {'val_min': 0, 'val_max': 9} },
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.Luftdruck', name: 'Luftdruck hPa', offColor: White , onColor: White, useValue: true, colorScale: {'val_min': 950, 'val_max': 1050, 'val_best': 1013} },
|
||||
]
|
||||
};
|
||||
|
||||
// NEW: Neue Definition von Medien-Aliasen
|
||||
// adapterPlayerInstance = alexa2.0. or spotify-premium.0. or sonos.0. or chromecast.0.
|
||||
let Alexa = <PageMedia>
|
||||
{
|
||||
'type': 'cardMedia',
|
||||
'heading': 'Alexa',
|
||||
'useColor': true,
|
||||
'items': [<PageItem>{
|
||||
id: AliasPath + 'Media.PlayerAlexa',
|
||||
adapterPlayerInstance: 'alexa2.0.',
|
||||
mediaDevice: 'G0XXXXXXXXXXXXXX',
|
||||
speakerList: ['Überall','Gartenhaus','Esszimmer','Heimkino','Echo Dot Küche','Echo Spot Buero'],
|
||||
//analog alexa2 Music-Provider
|
||||
playList: ['Spotify-Playlist.PartyPlaylist',
|
||||
'Amazon-Music-Playlist.Mein Discovery Mix',
|
||||
'My-Library-Playlist.2020',
|
||||
'My-Library-Playlist.2021',
|
||||
'TuneIn.Radio Bob Rock',
|
||||
'TuneIn.NDR2',
|
||||
'Spotify-Playlist.Sabaton Radio',
|
||||
'Spotify-Playlist.Rock Party',
|
||||
'Spotify-Playlist.This Is Nightwish',
|
||||
'Spotify-Playlist.Metal Christmas'],
|
||||
equalizerList: ['Bassboost','Klassik','Dance', 'Deep', 'Electronic', 'Flat', 'Hip-Hop', 'Rock',
|
||||
'Metal', 'Jazz', 'Latin', 'Tonstärke', 'Lounge', 'Piano'],
|
||||
colorMediaIcon: colorAlexa,
|
||||
colorMediaArtist: Yellow,
|
||||
colorMediaTitle: Yellow,
|
||||
autoCreateALias : true
|
||||
}]
|
||||
};
|
||||
|
||||
let Sonos = <PageMedia>
|
||||
{
|
||||
'type': 'cardMedia',
|
||||
'heading': 'Sonos',
|
||||
'useColor': true,
|
||||
'items': [<PageItem>{
|
||||
id: AliasPath + 'Media.PlayerSonos',
|
||||
adapterPlayerInstance: 'sonos.0.',
|
||||
mediaDevice: '192_168_1_212',
|
||||
speakerList: ['Terrasse'],
|
||||
colorMediaIcon: colorSpotify,
|
||||
colorMediaArtist: Yellow,
|
||||
colorMediaTitle: Yellow,
|
||||
autoCreateALias : true
|
||||
}]
|
||||
};
|
||||
|
||||
let SpotifyPremium = <PageMedia>
|
||||
{
|
||||
'type': 'cardMedia',
|
||||
'heading': 'Spotify-Premium',
|
||||
'useColor': true,
|
||||
'items': [<PageItem>{
|
||||
id: AliasPath + 'Media.PlayerSpotifyPremium',
|
||||
adapterPlayerInstance: "spotify-premium.0.",
|
||||
speakerList: ['LENOVO-W11-01', 'Terrasse','Überall','Gartenhaus','Esszimmer','Heimkino','Echo Dot Küche',
|
||||
'Echo Spot Buero'],
|
||||
playList: ['PartyPlaylist','Sabaton Radio','Rock Party','This Is Nightwish','Metal Christmas'],
|
||||
repeatList: ['off','context','track'],
|
||||
equalizerList: ['Bassboost','Klassik','Dance', 'Deep', 'Electronic', 'Flat', 'Hip-Hop', 'Rock',
|
||||
'Metal', 'Jazz', 'Latin', 'Tonstärke', 'Lounge', 'Piano'],
|
||||
colorMediaIcon: colorSpotify,
|
||||
colorMediaArtist: Yellow,
|
||||
colorMediaTitle: Yellow,
|
||||
autoCreateALias : true
|
||||
}]
|
||||
};
|
||||
|
||||
let SqueezeboxRPC = <PageMedia>
|
||||
{
|
||||
'type': 'cardMedia',
|
||||
'heading': 'SqueezeboxRPC',
|
||||
'useColor': true,
|
||||
'items': [<PageItem>{
|
||||
id: 'alias.0.Media.LMS',
|
||||
adapterPlayerInstance: 'squeezeboxrpc.0',
|
||||
speakerList: ['SqueezePlay'],
|
||||
mediaDevice: 'SqueezePlay',
|
||||
playList: ['Playlist'],
|
||||
autoCreateALias : true
|
||||
}]
|
||||
};
|
||||
|
||||
let Buero_Themostat = <PageThermo>
|
||||
{
|
||||
'type': 'cardThermo',
|
||||
'heading': 'Test Thermostat',
|
||||
'useColor': true,
|
||||
'items': [<PageItem>{
|
||||
id: 'alias.0.NSPanel_1.Thermostat_Buero',
|
||||
minValue: 50,
|
||||
maxValue: 300,
|
||||
stepValue: 5
|
||||
}]
|
||||
};
|
||||
|
||||
let Buero_Klimaanlage = <PageThermo>
|
||||
{
|
||||
'type': 'cardThermo',
|
||||
'heading': 'Test Klimaanlage',
|
||||
'useColor': true,
|
||||
'items': [<PageItem>{
|
||||
id: 'alias.0.NSPanel_1.TestKlimaanlage',
|
||||
minValue: 50,
|
||||
maxValue: 250,
|
||||
stepValue: 5,
|
||||
iconArray: ['power-standby','air-conditioner','snowflake','fire','alpha-e-circle-outline','fan','water-percent','swap-vertical-bold'],
|
||||
popupThermoMode1: ['Auto','0','1','2','3'],
|
||||
popupThermoMode2: ['Auto','0','1','2','3','4','5'],
|
||||
popupThermoMode3: ['Auto','Manual','Boost',],
|
||||
popUpThermoName: ['Schwenk-Modus', 'Speed', 'Temperatur'],
|
||||
icon: 'fan',
|
||||
setThermoAlias: ['MODE1','MODE2','MODE3'],
|
||||
//setThermoDestTemp2: 'ACTUAL2'
|
||||
}]
|
||||
};
|
||||
|
||||
let Pool_Waermepumpe = <PageThermo>
|
||||
{
|
||||
'type': 'cardThermo',
|
||||
'heading': 'Pool Wärmepumpe',
|
||||
'useColor': true,
|
||||
'items': [<PageItem>{
|
||||
id: 'alias.0.NSPanel_1.Pool_Waermepumpe',
|
||||
minValue: 100,
|
||||
maxValue: 300,
|
||||
stepValue: 5,
|
||||
iconArray: ['power-standby','alpha-a-circle-outline','snowflake','fire'],
|
||||
//iconArray: ['power-standby','air-conditioner','snowflake','fire','alpha-e-circle-outline','fan','water-percent','swap-vertical-bold'],
|
||||
}]
|
||||
};
|
||||
|
||||
let Buero_Alarm = <PageAlarm>
|
||||
{
|
||||
'type': 'cardAlarm',
|
||||
'heading': 'Alarmanlage',
|
||||
'useColor': true,
|
||||
'items': [<PageItem>{ id: 'alias.0.Alarm' }]
|
||||
};
|
||||
|
||||
let Unlock_Service = <PageUnlock>
|
||||
{
|
||||
'type': 'cardUnlock',
|
||||
'heading': 'Service Pages',
|
||||
'useColor': true,
|
||||
'items': [<PageItem>{ id: 'alias.0.Unlock', targetPage: 'NSPanel_Service' }]
|
||||
};
|
||||
|
||||
let button1Page = <PageGrid>
|
||||
{
|
||||
'type': 'cardGrid',
|
||||
'heading': 'Radio',
|
||||
'useColor': true,
|
||||
'items': [
|
||||
<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.NDR2', icon: 'radio', name: 'NDR2', onColor: colorRadio},
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.Radio.Bob', icon: 'radio', name: 'Radio BOB', onColor: colorRadio},
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.Radio.Spotify', icon: 'spotify', name: 'Party Playlist', onColor: colorSpotify},
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.Radio.Alexa', icon: 'playlist-music', name: 'Playlist 2021', onColor: colorAlexa}
|
||||
]
|
||||
};
|
||||
|
||||
let button2Page = <PageEntities>
|
||||
{
|
||||
'type': 'cardEntities',
|
||||
'heading': 'Büro',
|
||||
'useColor': true,
|
||||
'items': [
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.Schreibtischlampe'},
|
||||
<PageItem>{ id: 'alias.0.NSPanel_1.Deckenbeleuchtung'}
|
||||
]
|
||||
};
|
||||
|
||||
//-- ENDE der Beispiele für Seitengestaltung -- Selbstdefinierte Aliase erforderlich ------------------
|
||||
//-- ENDE der Beispiele für Seitengestaltung -- Selbstdefinierte Aliase erforderlich -------------------------
|
||||
|
||||
|
||||
/***********************************************************************************************
|
||||
@@ -829,7 +449,7 @@ let NSPanel_Service = <PageEntities>
|
||||
'prev': 'NSPanel_Wifi_Info_1',
|
||||
'home': 'NSPanel_Service',
|
||||
'items': [
|
||||
<PageItem>{ id: 'alias.0.Test.Wiki_SSID', name: 'SSId', icon: 'signal-distance-variant', offColor: Menu, onColor: Menu },
|
||||
<PageItem>{ id: AliasPath + 'Tasmota.Wifi.SSId', name: 'SSId', icon: 'signal-distance-variant', offColor: Menu, onColor: Menu },
|
||||
<PageItem>{ id: AliasPath + 'Tasmota.Wifi.Mode', name: 'Modus', icon: 'signal-distance-variant', offColor: Menu, onColor: Menu },
|
||||
<PageItem>{ id: AliasPath + 'Tasmota.Wifi.Channel', name: 'Kanal', icon: 'timeline-clock-outline', offColor: Menu, onColor: Menu },
|
||||
<PageItem>{ id: AliasPath + 'Tasmota.Wifi.AP', name: 'AP', icon: 'router-wireless-settings', offColor: Menu, onColor: Menu },
|
||||
@@ -913,11 +533,11 @@ let NSPanel_Service = <PageEntities>
|
||||
let NSPanel_ScreensaverDimmode = <PageEntities>
|
||||
{
|
||||
'type': 'cardEntities',
|
||||
'heading': 'Dimmode (1)',
|
||||
'heading': 'Dimmode',
|
||||
'useColor': true,
|
||||
'subPage': true,
|
||||
'parent': NSPanel_Screensaver,
|
||||
'next': 'NSPanel_ScreensaverOther',
|
||||
'home': 'NSPanel_Service',
|
||||
'items': [
|
||||
<PageItem>{ id: AliasPath + 'Dimmode.brightnessDay', name: 'Brightness Tag', icon: 'brightness-5', offColor: Menu, onColor: Menu, minValue: 5, maxValue: 10},
|
||||
<PageItem>{ id: AliasPath + 'Dimmode.brightnessNight', name: 'Brightness Nacht', icon: 'brightness-4', offColor: Menu, onColor: Menu, minValue: 0, maxValue: 4},
|
||||
@@ -1113,39 +733,7 @@ export const config = <Config> {
|
||||
|
||||
leftScreensaverEntity:
|
||||
[
|
||||
// leftScreensaverEntity 1 (only Advanced Screensaver)
|
||||
{
|
||||
ScreensaverEntity: NSPanel_Path + 'Sensor.ANALOG.Temperature',
|
||||
ScreensaverEntityFactor: 1,
|
||||
ScreensaverEntityDecimalPlaces: 1,
|
||||
ScreensaverEntityIconOn: 'thermometer',
|
||||
ScreensaverEntityIconOff: null,
|
||||
ScreensaverEntityText: 'Temperatur',
|
||||
ScreensaverEntityUnitText: '°C',
|
||||
ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 35, 'val_best': 22}
|
||||
},
|
||||
// leftScreensaverEntity 2 (only Advanced Screensaver)
|
||||
{
|
||||
ScreensaverEntity: 'sonoff.0.DZG_DWSB20_2H.DZG_Leistung_Aktuell',
|
||||
ScreensaverEntityFactor: 1,
|
||||
ScreensaverEntityDecimalPlaces: 0,
|
||||
ScreensaverEntityIconOn: 'counter',
|
||||
ScreensaverEntityIconOff: null,
|
||||
ScreensaverEntityText: 'L1-L3',
|
||||
ScreensaverEntityUnitText: ' W',
|
||||
ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 5000}
|
||||
},
|
||||
// leftScreensaverEntity 3 (only Advanced Screensaver)
|
||||
{
|
||||
ScreensaverEntity: '0_userdata.0.Abfallkalender.1.date',
|
||||
ScreensaverEntityFactor: 1,
|
||||
ScreensaverEntityDecimalPlaces: 0,
|
||||
ScreensaverEntityIconOn: 'trash-can',
|
||||
ScreensaverEntityIconOff: null,
|
||||
ScreensaverEntityText: 'Abfall',
|
||||
ScreensaverEntityUnitText: '',
|
||||
ScreensaverEntityIconColor: '0_userdata.0.Abfallkalender.1.color'
|
||||
},
|
||||
// Examples for Advanced-Screensaver: https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-Config-Screensaver#entity-status-icons-ab-v400
|
||||
],
|
||||
|
||||
bottomScreensaverEntity :
|
||||
@@ -1187,7 +775,7 @@ export const config = <Config> {
|
||||
// bottomScreensaverEntity 4
|
||||
{
|
||||
ScreensaverEntity: 'accuweather.0.Current.WindDirection',
|
||||
ScreensaverEntityFactor: 0,
|
||||
ScreensaverEntityFactor: 1,
|
||||
ScreensaverEntityDecimalPlaces: 0,
|
||||
ScreensaverEntityIconOn: 'windsock',
|
||||
ScreensaverEntityIconOff: null,
|
||||
@@ -1206,76 +794,12 @@ export const config = <Config> {
|
||||
ScreensaverEntityUnitText: '%',
|
||||
ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 100, 'val_best': 65}
|
||||
},
|
||||
// bottomScreensaverEntity 6 (only Advanced Screensaver)
|
||||
{
|
||||
ScreensaverEntity: 'accuweather.0.Current.UVIndex',
|
||||
ScreensaverEntityFactor: 1,
|
||||
ScreensaverEntityDecimalPlaces: 0,
|
||||
ScreensaverEntityIconOn: 'solar-power',
|
||||
ScreensaverEntityIconOff: null,
|
||||
ScreensaverEntityText: 'UV',
|
||||
ScreensaverEntityUnitText: '',
|
||||
ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 9}
|
||||
}
|
||||
// Examples for Advanced-Screensaver: https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-Config-Screensaver#entity-status-icons-ab-v400
|
||||
],
|
||||
|
||||
indicatorScreensaverEntity:
|
||||
[
|
||||
// indicatorScreensaverEntity 1 (only Advanced Screensaver)
|
||||
{
|
||||
ScreensaverEntity: '0_userdata.0.NSPanel.Indicators.Haus',
|
||||
ScreensaverEntityFactor: 1,
|
||||
ScreensaverEntityDecimalPlaces: 0,
|
||||
ScreensaverEntityIconOn: 'window-closed-variant',
|
||||
ScreensaverEntityIconOff: 'window-open-variant',
|
||||
ScreensaverEntityText: 'Fenster',
|
||||
ScreensaverEntityUnitText: '%',
|
||||
ScreensaverEntityIconColor: { 'val_min': 0, 'val_max': 1 }
|
||||
},
|
||||
// indicatorScreensaverEntity 2 (only Advanced Screensaver)
|
||||
{
|
||||
ScreensaverEntity: 'alias.0.Haus.Erdgeschoss.Buero.Sensoren.Bewegung.ACTUAL',
|
||||
ScreensaverEntityFactor: 1,
|
||||
ScreensaverEntityDecimalPlaces: 0,
|
||||
ScreensaverEntityIconOn: 'motion-sensor',
|
||||
ScreensaverEntityIconOff: null,
|
||||
ScreensaverEntityText: 'Bewegung',
|
||||
ScreensaverEntityUnitText: '',
|
||||
ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 1}
|
||||
},
|
||||
// indicatorScreensaverEntity 3 (only Advanced Screensaver)
|
||||
{
|
||||
ScreensaverEntity: '0_userdata.0.NSPanel.Indicators.Garage',
|
||||
ScreensaverEntityFactor: 1,
|
||||
ScreensaverEntityDecimalPlaces: 0,
|
||||
ScreensaverEntityIconOn: 'garage-variant-lock',
|
||||
ScreensaverEntityIconOff: null,
|
||||
ScreensaverEntityText: 'Garage',
|
||||
ScreensaverEntityUnitText: '',
|
||||
ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 1}
|
||||
},
|
||||
// indicatorScreensaverEntity 4 (only Advanced Screensaver)
|
||||
{
|
||||
ScreensaverEntity: 'worx.0.202130267302000866BF.mower.state',
|
||||
ScreensaverEntityFactor: 1,
|
||||
ScreensaverEntityDecimalPlaces: 0,
|
||||
ScreensaverEntityIconOn: 'robot-mower-outline',
|
||||
ScreensaverEntityIconOff: null,
|
||||
ScreensaverEntityText: 'Mäher',
|
||||
ScreensaverEntityUnitText: '%',
|
||||
ScreensaverEntityIconColor: { 'val_min': 0, 'val_max': 1 }
|
||||
},
|
||||
// indicatorScreensaverEntity 5 (only Advanced Screensaver)
|
||||
{
|
||||
ScreensaverEntity: '0_userdata.0.Wasserstand.KNOCK.Wert',
|
||||
ScreensaverEntityFactor: 1,
|
||||
ScreensaverEntityDecimalPlaces: 1,
|
||||
ScreensaverEntityIconOn: 'waves-arrow-up',
|
||||
ScreensaverEntityIconOff: null,
|
||||
ScreensaverEntityText: 'Feuchte',
|
||||
ScreensaverEntityUnitText: '%',
|
||||
ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 985, 'val_best': 500}
|
||||
}
|
||||
// Examples for Advanced-Screensaver: https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-Config-Screensaver#entity-status-icons-ab-v400
|
||||
],
|
||||
|
||||
mrIcon1ScreensaverEntity:
|
||||
@@ -1291,14 +815,14 @@ export const config = <Config> {
|
||||
},
|
||||
mrIcon2ScreensaverEntity:
|
||||
{
|
||||
ScreensaverEntity: 'deconz.0.Sensors.5.open',
|
||||
ScreensaverEntityIconOn: 'heat-wave',
|
||||
ScreensaverEntity: NSPanel_Path + 'Relay.2',
|
||||
ScreensaverEntityIconOn: 'lightbulb',
|
||||
ScreensaverEntityIconOff: null,
|
||||
ScreensaverEntityValue: 'deconz.0.Sensors.65.temperature',
|
||||
ScreensaverEntityValueDecimalPlace : 1,
|
||||
ScreensaverEntityValueUnit: '°',
|
||||
ScreensaverEntityOnColor: MSRed,
|
||||
ScreensaverEntityOffColor: Yellow
|
||||
ScreensaverEntityValue: null,
|
||||
ScreensaverEntityValueDecimalPlace : 0,
|
||||
ScreensaverEntityValueUnit: null,
|
||||
ScreensaverEntityOnColor: On,
|
||||
ScreensaverEntityOffColor: HMIOff
|
||||
},
|
||||
|
||||
weatherEntity: 'alias.0.Wetter', // Dieser Alias wird automatisch für den gewählten Wetter erstellt und kann entsprechend angepasst werden
|
||||
@@ -1307,33 +831,10 @@ export const config = <Config> {
|
||||
defaultColor: Off,
|
||||
defaultBackgroundColor: HMIDark, // Default-Hintergrundfarbe HMIDark oder Black
|
||||
pages: [
|
||||
Buero_Seite_1, //Beispiel-Seite
|
||||
WLED, //Beispiel-Seite
|
||||
Radiosender, //Beispiel-Seite
|
||||
SensorGrid, //Beispiel-Seite
|
||||
CardLChartExample, //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
|
||||
//Unlock_Service,
|
||||
|
||||
NSPanel_Service //Auto-Alias Service Page
|
||||
],
|
||||
subPages: [
|
||||
Abfall, //Beispiel-Unterseite
|
||||
WLAN, //Beispiel-Unterseite
|
||||
|
||||
NSPanel_Infos, //Auto-Alias Service Page
|
||||
NSPanel_Wifi_Info_1, //Auto-Alias Service Page
|
||||
@@ -1374,9 +875,9 @@ export const config = <Config> {
|
||||
const request = require('request');
|
||||
|
||||
//Desired Firmware
|
||||
const tft_version: string = 'v4.2.1';
|
||||
const desired_display_firmware_version = 52;
|
||||
const berry_driver_version = 8;
|
||||
const tft_version: string = 'v4.3.1';
|
||||
const desired_display_firmware_version = 53;
|
||||
const berry_driver_version = 9;
|
||||
const tasmotaOtaUrl: string = 'http://ota.tasmota.com/tasmota32/release/';
|
||||
|
||||
let useMediaEvents: boolean = false;
|
||||
@@ -1412,7 +913,7 @@ async function CheckDebugMode() {
|
||||
console.log('Debugmodus aktiviert');
|
||||
}else{
|
||||
Debug = false;
|
||||
console.log('Debugmodus deaktiviert')
|
||||
console.log('Debugmodus deaktiviert');
|
||||
}
|
||||
|
||||
} catch (err) {
|
||||
@@ -1472,8 +973,8 @@ async function CheckMQTTPorts() {
|
||||
CheckMQTTPorts();
|
||||
|
||||
async function Init_Release() {
|
||||
const FWVersion = [41,42,43,44,45,46,47,48,49,50,51,52,53]
|
||||
const FWRelease = ['3.3.1','3.4.0','3.5.0','3.5.X','3.6.0','3.7.3','3.8.0','3.8.3','3.9.4','4.0.5','4.1.4','4.2.1','4.3.0']
|
||||
const FWVersion = [41,42,43,44,45,46,47,48,49,50,51,52,53,54,55];
|
||||
const FWRelease = ['3.3.1','3.4.0','3.5.0','3.5.X','3.6.0','3.7.3','3.8.0','3.8.3','3.9.4','4.0.5','4.1.4','4.2.1','4.3.1','4.4.0','4.5.0'];
|
||||
try {
|
||||
if (existsObject(NSPanel_Path + 'Display_Firmware.desiredVersion') == false) {
|
||||
await createStateAsync(NSPanel_Path + 'Display_Firmware.desiredVersion', desired_display_firmware_version, { type: 'number' });
|
||||
@@ -3457,9 +2958,9 @@ function CreateEntity(pageItem: PageItem, placeId: number, useColors: boolean =
|
||||
iconColor = getState(pageItem.id + '.COLORDEC').val;
|
||||
} else {
|
||||
if (val === true || val === 'true') {
|
||||
iconColor = GetIconColor(pageItem, false, useColors);
|
||||
} else {
|
||||
iconColor = GetIconColor(pageItem, true, useColors);
|
||||
} else {
|
||||
iconColor = GetIconColor(pageItem, false, useColors);
|
||||
}
|
||||
}
|
||||
if (val === true || val === 'true') { iconId = iconId2 };
|
||||
@@ -3506,6 +3007,77 @@ function CreateEntity(pageItem: PageItem, placeId: number, useColors: boolean =
|
||||
if (val === true || val === 'true') { iconId = iconId2 };
|
||||
break;
|
||||
|
||||
case 'humidity':
|
||||
|
||||
case 'temperature':
|
||||
|
||||
case 'value.temperature':
|
||||
|
||||
case 'value.humidity':
|
||||
|
||||
case 'sensor.door':
|
||||
|
||||
case 'sensor.window':
|
||||
|
||||
case 'thermostat':
|
||||
|
||||
iconId = pageItem.icon !== undefined ? Icons.GetIcon(pageItem.icon) : o.common.role == 'temperature' || o.common.role == 'value.temperature' || o.common.role == 'thermostat' ? Icons.GetIcon('thermometer') : Icons.GetIcon('information-outline');
|
||||
|
||||
let unit = '';
|
||||
optVal = '0';
|
||||
|
||||
if (existsState(pageItem.id + '.ON_ACTUAL')) {
|
||||
optVal = getState(pageItem.id + '.ON_ACTUAL').val;
|
||||
unit = pageItem.unit !== undefined ? pageItem.unit : GetUnitOfMeasurement(pageItem.id + '.ON_ACTUAL');
|
||||
} else if (existsState(pageItem.id + '.ACTUAL')) {
|
||||
optVal = getState(pageItem.id + '.ACTUAL').val;
|
||||
unit = pageItem.unit !== undefined ? pageItem.unit : GetUnitOfMeasurement(pageItem.id + '.ACTUAL');
|
||||
}
|
||||
|
||||
iconColor = GetIconColor(pageItem, parseInt(optVal), useColors);
|
||||
|
||||
if (pageItem.colorScale != undefined) {
|
||||
let iconvalmin = (pageItem.colorScale.val_min != undefined) ? pageItem.colorScale.val_min : 0 ;
|
||||
let iconvalmax = (pageItem.colorScale.val_max != undefined) ? pageItem.colorScale.val_max : 100 ;
|
||||
let iconvalbest = (pageItem.colorScale.val_best != undefined) ? pageItem.colorScale.val_best : iconvalmin ;
|
||||
let valueScale = val;
|
||||
|
||||
if (iconvalmin == 0 && iconvalmax == 1) {
|
||||
iconColor = (getState(pageItem.id).val == 1) ? rgb_dec565(colorScale0) : rgb_dec565(colorScale10);
|
||||
} else {
|
||||
if (iconvalbest == iconvalmin) {
|
||||
valueScale = scale(valueScale,iconvalmin, iconvalmax, 10, 0);
|
||||
} else {
|
||||
if (valueScale < iconvalbest) {
|
||||
valueScale = scale(valueScale,iconvalmin, iconvalbest, 0, 10);
|
||||
} else if (valueScale > iconvalbest || iconvalbest != iconvalmin) {
|
||||
valueScale = scale(valueScale,iconvalbest, iconvalmax, 10, 0);
|
||||
} else {
|
||||
valueScale = scale(valueScale,iconvalmin, iconvalmax, 10, 0);
|
||||
}
|
||||
}
|
||||
let valueScaletemp = (Math.round(valueScale)).toFixed();
|
||||
iconColor = HandleColorScale(valueScaletemp);
|
||||
}
|
||||
}
|
||||
|
||||
if (existsState(pageItem.id + '.USERICON')) {
|
||||
iconId = Icons.GetIcon(getState(pageItem.id + '.USERICON').val);
|
||||
if (Debug) console.log('iconid von ' + pageItem.id + '.USERICON: ' + getState(pageItem.id + '.USERICON').val);
|
||||
RegisterEntityWatcher(pageItem.id + '.USERICON');
|
||||
}
|
||||
|
||||
if (pageItem.useValue) {
|
||||
if (pageItem.fontSize != undefined) {
|
||||
iconId = optVal + '¬' + pageItem.fontSize;
|
||||
} else {
|
||||
iconId = optVal;
|
||||
}
|
||||
}
|
||||
|
||||
buttonText = pageItem.buttonText !== undefined ? pageItem.buttonText : existsState(pageItem.id + '.BUTTONTEXT') ? getState(pageItem.id + '.BUTTONTEXT').val : 'PRESS';
|
||||
break;
|
||||
|
||||
case 'warning':
|
||||
iconId = pageItem.icon !== undefined ? Icons.GetIcon(pageItem.icon) : Icons.GetIcon('gesture-tap-button');
|
||||
iconColor = pageItem.onColor !== undefined ? GetIconColor(pageItem, true, useColors) : getState(pageItem.id + '.LEVEL').val;
|
||||
@@ -3771,7 +3343,7 @@ function CreateEntity(pageItem: PageItem, placeId: number, useColors: boolean =
|
||||
case 'thermostat':
|
||||
type = 'text';
|
||||
|
||||
iconId = pageItem.icon !== undefined ? Icons.GetIcon(pageItem.icon) : o.common.role == 'value.temperature' || o.common.role == 'thermostat' ? Icons.GetIcon('thermometer') : Icons.GetIcon('information-outline');
|
||||
iconId = pageItem.icon !== undefined ? Icons.GetIcon(pageItem.icon) : o.common.role == 'temperature' || o.common.role == 'value.temperature' || o.common.role == 'thermostat' ? Icons.GetIcon('thermometer') : Icons.GetIcon('information-outline');
|
||||
|
||||
let unit = '';
|
||||
optVal = '0';
|
||||
@@ -3784,10 +3356,6 @@ function CreateEntity(pageItem: PageItem, placeId: number, useColors: boolean =
|
||||
unit = pageItem.unit !== undefined ? pageItem.unit : GetUnitOfMeasurement(pageItem.id + '.ACTUAL');
|
||||
}
|
||||
|
||||
if (o.common.role == 'value.temperature') {
|
||||
iconId = pageItem.icon !== undefined ? Icons.GetIcon(pageItem.icon) : Icons.GetIcon('thermometer');
|
||||
}
|
||||
|
||||
iconColor = GetIconColor(pageItem, parseInt(optVal), useColors);
|
||||
|
||||
if (pageItem.colorScale != undefined) {
|
||||
@@ -3817,7 +3385,7 @@ function CreateEntity(pageItem: PageItem, placeId: number, useColors: boolean =
|
||||
|
||||
if (existsState(pageItem.id + '.USERICON')) {
|
||||
iconId = Icons.GetIcon(getState(pageItem.id + '.USERICON').val);
|
||||
console.log(iconId);
|
||||
if (Debug) console.log('iconid von ' + pageItem.id + '.USERICON: ' + getState(pageItem.id + '.USERICON').val);
|
||||
RegisterEntityWatcher(pageItem.id + '.USERICON');
|
||||
}
|
||||
|
||||
@@ -3959,10 +3527,10 @@ function CreateEntity(pageItem: PageItem, placeId: number, useColors: boolean =
|
||||
|
||||
case 'timeTable':
|
||||
type = 'text';
|
||||
let itemFahrzeug:string = getState(pageItem.id + '.Fahrzeug').val;
|
||||
let itemFahrzeug:string = getState(pageItem.id + '.VEHICLE').val;
|
||||
let itemUhrzeit:string = getState(pageItem.id + '.ACTUAL').val;
|
||||
let itemRichtung:string = getState(pageItem.id + '.Richtung').val;
|
||||
let itemVerspätung:boolean = getState(pageItem.id + '.Verspätung').val;
|
||||
let itemRichtung:string = getState(pageItem.id + '.DIRECTION').val;
|
||||
let itemVerspaetung:boolean = getState(pageItem.id + '.DELAY').val;
|
||||
|
||||
if (Icons.GetIcon(itemFahrzeug) != "") {
|
||||
iconId = Icons.GetIcon(itemFahrzeug)
|
||||
@@ -3970,7 +3538,7 @@ function CreateEntity(pageItem: PageItem, placeId: number, useColors: boolean =
|
||||
iconId=''
|
||||
};
|
||||
|
||||
iconColor = (!itemVerspätung) ? rgb_dec565(colorScale0) : rgb_dec565(colorScale10);
|
||||
iconColor = (!itemVerspaetung) ? rgb_dec565(colorScale0) : rgb_dec565(colorScale10);
|
||||
|
||||
if (Debug) console.log('CreateEntity Icon role timeTable ~' + type + '~' + itemRichtung + '~' + iconId + '~' + iconColor + '~' + itemRichtung + '~' + itemUhrzeit);
|
||||
return '~' + type + '~' + itemRichtung + '~' + iconId + '~' + iconColor + '~' + itemRichtung + '~' + itemUhrzeit;
|
||||
@@ -3979,7 +3547,6 @@ function CreateEntity(pageItem: PageItem, placeId: number, useColors: boolean =
|
||||
if (Debug) console.log('CreateEntity Icon keine passende Rolle gefunden');
|
||||
return '~delete~~~~~';
|
||||
}
|
||||
|
||||
}
|
||||
if (Debug) console.log('CreateEntity return ~delete~~~~~');
|
||||
return '~delete~~~~~';
|
||||
@@ -4255,9 +3822,9 @@ function GenerateThermoPage(page: PageThermo): Payload[] {
|
||||
case 'POWER':
|
||||
if (existsState(id + '.POWER') && getState(id + '.POWER').val != null) {
|
||||
if (getState(id + '.POWER').val) {
|
||||
bt[i - 1] = Icons.GetIcon('power-standby') + '~2016~1~' + 'POW' + '~';
|
||||
bt[i - 1] = Icons.GetIcon('power-standby') + '~2016~1~' + 'POWER' + '~';
|
||||
} else {
|
||||
bt[i - 1] = Icons.GetIcon('power-standby') + '~33840~1~' + 'POW' + '~';
|
||||
bt[i - 1] = Icons.GetIcon('power-standby') + '~33840~1~' + 'POWER' + '~';
|
||||
}
|
||||
} else i--;
|
||||
break;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -109,7 +109,7 @@ class Nextion : Driver
|
||||
log("FLH: Read block",3)
|
||||
while size(self.flash_buff)<self.flash_block_size && self.tcp.connected()
|
||||
if self.tcp.available()>0
|
||||
self.flash_buff += self.tcp.readbytes()
|
||||
self.flash_buff += self.tcp.readbytes(4096)
|
||||
else
|
||||
tasmota.delay(50)
|
||||
log("FLH: Wait for available...",3)
|
||||
@@ -321,7 +321,7 @@ tasmota.add_driver(nextion)
|
||||
|
||||
def get_current_version(cmd, idx, payload, payload_json)
|
||||
import string
|
||||
var version_of_this_script = 8
|
||||
var version_of_this_script = 9
|
||||
var jm = string.format("{\"nlui_driver_version\":\"%s\"}", version_of_this_script)
|
||||
tasmota.publish_result(jm, "RESULT")
|
||||
end
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user