v3.7.3.0 Hotfix - bUp case / Update Berry Version 8

- Hotfix - bUp case
- Update Berry Version 8
This commit is contained in:
Armilar
2022-12-28 20:32:03 +01:00
committed by GitHub
parent 09a7786df4
commit 8ab20b16a8

View File

@@ -1,6 +1,6 @@
/*----------------------------------------------------------------------- /*-----------------------------------------------------------------------
TypeScript v3.7.0 zur Steuerung des SONOFF NSPanel mit dem ioBroker by @Armilar/@Sternmiere/@Britzelpuf TypeScript v3.7.3.0 zur Steuerung des SONOFF NSPanel mit dem ioBroker by @Armilar/@Sternmiere/@Britzelpuf
- abgestimmt auf TFT 46 / v3.7.0 / BerryDriver 6 / Tasmota 12.3.1 - abgestimmt auf TFT 46 / v3.7.3 / BerryDriver 8 / Tasmota 12.3.1
@joBr99 Projekt: https://github.com/joBr99/nspanel-lovelace-ui/tree/main/ioBroker @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 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) icon_mapping.ts: https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/icon_mapping.ts (TypeScript muss in global liegen)
@@ -101,7 +101,10 @@ ReleaseNotes:
- 20.12.2022 - v3.7.0 Add popUpTimer / New ALIAS Type level.timer - 20.12.2022 - v3.7.0 Add popUpTimer / New ALIAS Type level.timer
- 21.12.2022 - v3.7.0 Add Fan / New ALIAS Type level.mode.fan - 21.12.2022 - v3.7.0 Add Fan / New ALIAS Type level.mode.fan
- 22.12.2022 - v3.7.0 Add InSel - InputSelector with Alias Type buttonSensor (DP .VALUE) - 22.12.2022 - v3.7.0 Add InSel - InputSelector with Alias Type buttonSensor (DP .VALUE)
- 23.10.2022 - v3.7.0 Upgrade TFT 46
- 28.12.2022 - v3.7.3.0 Hotfix - bUp case
- 28.12.2022 - v3.7.3.0 Update Berry Version 8
***************************************************************************************************************** *****************************************************************************************************************
* Falls Aliase durch das Skript erstellt werden sollen, muss in der JavaScript Instanz "setObect" gesetzt sein! * * Falls Aliase durch das Skript erstellt werden sollen, muss in der JavaScript Instanz "setObect" gesetzt sein! *
***************************************************************************************************************** *****************************************************************************************************************
@@ -112,7 +115,7 @@ Tasmota Konsole:
Rule2 on Button1#state do Publish %topic%/%prefix%/RESULT {"CustomRecv":"event,button1"} endon on Button2#state do Publish %topic%/%prefix%/RESULT {"CustomRecv":"event,button2"} endon Rule2 on Button1#state do Publish %topic%/%prefix%/RESULT {"CustomRecv":"event,button1"} endon on Button2#state do Publish %topic%/%prefix%/RESULT {"CustomRecv":"event,button2"} endon
Rule2 1 (Rule aktivieren) Rule2 1 (Rule aktivieren)
Rule2 0 (Rule deaktivieren) Rule2 0 (Rule deaktivieren)
Mögliche Seiten-Ansichten: Mögliche Seiten-Ansichten:
screensaver Page - wird nach definiertem Zeitraum (config) mit Dimm-Modus aktiv (Uhrzeit, Datum, Aktuelle Temperatur mit Symbol) screensaver Page - wird nach definiertem Zeitraum (config) mit Dimm-Modus aktiv (Uhrzeit, Datum, Aktuelle Temperatur mit Symbol)
(die 4 kleineren Icons können als Wetter-Vorschau + 4Tage (Symbol + Höchsttemperatur) oder zur Anzeige definierter Infos konfiguriert werden) (die 4 kleineren Icons können als Wetter-Vorschau + 4Tage (Symbol + Höchsttemperatur) oder zur Anzeige definierter Infos konfiguriert werden)
@@ -122,13 +125,13 @@ Mögliche Seiten-Ansichten:
cardMedia Page - Mediaplayer - Ausnahme: Alias sollte mit Alias-Manager automatisch über Alexa-Verzeichnis Player angelegt werden cardMedia Page - Mediaplayer - Ausnahme: Alias sollte mit Alias-Manager automatisch über Alexa-Verzeichnis Player angelegt werden
cardAlarm Page - Alarmseite mit Zustand und Tastenfeld cardAlarm Page - Alarmseite mit Zustand und Tastenfeld
cardPower Page - Energiefluss cardPower Page - Energiefluss
Popup-Pages: Popup-Pages:
popupLight Page - in Abhängigkeit zum gewählten Alias werden "Helligkeit", "Farbtemperatur" und "Farbauswahl" bereitgestellt popupLight Page - in Abhängigkeit zum gewählten Alias werden "Helligkeit", "Farbtemperatur" und "Farbauswahl" bereitgestellt
popupShutter Page - die Shutter-Position (Rollo, Jalousie, Markise, Leinwand, etc.) kann über einen Slider verändert werden. popupShutter Page - die Shutter-Position (Rollo, Jalousie, Markise, Leinwand, etc.) kann über einen Slider verändert werden.
popupNotify Page - Info - Seite mit Headline Text und Buttons - Intern für manuelle Updates / Extern zur Befüllung von Datenpunkten unter 0_userdata popupNotify Page - Info - Seite mit Headline Text und Buttons - Intern für manuelle Updates / Extern zur Befüllung von Datenpunkten unter 0_userdata
screensaver Notify - Über zwei externe Datenpunkte in 0_userdata können "Headline" und "Text" an den Screensaver zur Info gesendet werden screensaver Notify - Über zwei externe Datenpunkte in 0_userdata können "Headline" und "Text" an den Screensaver zur Info gesendet werden
Mögliche Aliase: (Vorzugsweise mit ioBroker-Adapter "Geräte verwalten" konfigurieren, da SET, GET, ACTUAL, etc. verwendet werden) Mögliche Aliase: (Vorzugsweise mit ioBroker-Adapter "Geräte verwalten" konfigurieren, da SET, GET, ACTUAL, etc. verwendet werden)
Info - Werte aus Datenpunkt Info - Werte aus Datenpunkt
Schieberegler - Slider numerische Werte (SET/ACTUAL) Schieberegler - Slider numerische Werte (SET/ACTUAL)
@@ -153,28 +156,28 @@ Mögliche Aliase: (Vorzugsweise mit ioBroker-Adapter "Geräte verwalten" konfigu
Feuchtigkeit - Anzeige von Humidity - Datenpunkten, analog Info Feuchtigkeit - Anzeige von Humidity - Datenpunkten, analog Info
Medien - Steuerung von Alexa - Über Alias-Manager im Verzeichnis Player automatisch anlegen (Geräte-Manager funktioniert nicht) Medien - Steuerung von Alexa - Über Alias-Manager im Verzeichnis Player automatisch anlegen (Geräte-Manager funktioniert nicht)
Wettervorhersage - Aktuelle Außen-Temperatur (Temp) und aktuelles AccuWeather-Icon (Icon) für Screensaver Wettervorhersage - Aktuelle Außen-Temperatur (Temp) und aktuelles AccuWeather-Icon (Icon) für Screensaver
Interne Sonoff-Sensoren (über Tasmota): Interne Sonoff-Sensoren (über Tasmota):
ESP-Temperatur - wird in 0_userdata.0. abgelegt, kann als Alias importiert werden --> SetOption146 1 ESP-Temperatur - wird in 0_userdata.0. abgelegt, kann als Alias importiert werden --> SetOption146 1
Temperatur - Raumtemperatur - wird in 0_userdata.0. abgelegt, kann als Alias importiert werden Temperatur - Raumtemperatur - wird in 0_userdata.0. abgelegt, kann als Alias importiert werden
(!!! Achtung: der interne Sonoff-Sensor liefert keine exakten Daten, da das NSPanel-Board und der ESP selbst Hitze produzieren !!! (!!! Achtung: der interne Sonoff-Sensor liefert keine exakten Daten, da das NSPanel-Board und der ESP selbst Hitze produzieren !!!
ggf. Offset einplanen oder besser einen externen Sensor über Zigbee etc. verwenden) ggf. Offset einplanen oder besser einen externen Sensor über Zigbee etc. verwenden)
Timestamp - wird in 0_userdata.0. Zeitpunkt der letzten Sensorübertragung Timestamp - wird in 0_userdata.0. Zeitpunkt der letzten Sensorübertragung
Tasmota-Status0 - (zyklische Ausführung) Tasmota-Status0 - (zyklische Ausführung)
liefert relevanten Tasmota-Informationen und kann bei Bedarf in "function get_tasmota_status0()" erweitert werden. Daten werden in 0_userdata.0. abgelegt liefert relevanten Tasmota-Informationen und kann bei Bedarf in "function get_tasmota_status0()" erweitert werden. Daten werden in 0_userdata.0. abgelegt
Erforderliche Adapter: Erforderliche Adapter:
AccuWeather: - Bei Nutzung der Wetterfunktionen (und zur Icon-Konvertierung) im Screensaver AccuWeather: - Bei Nutzung der Wetterfunktionen (und zur Icon-Konvertierung) im Screensaver
Alexa2: - Bei Nutzung der dynamischen SpeakerList in der cardMedia Alexa2: - Bei Nutzung der dynamischen SpeakerList in der cardMedia
Geräte verwalten - Für Erstellung der Aliase Geräte verwalten - Für Erstellung der Aliase
Alias-Manager - !!! ausschließlich für MEDIA-Alias Alias-Manager - !!! ausschließlich für MEDIA-Alias
MQTT-Adapter - Für Kommunikation zwischen Skript und Tasmota MQTT-Adapter - Für Kommunikation zwischen Skript und Tasmota
JavaScript-Adapter JavaScript-Adapter
Upgrades in Konsole: Upgrades in Konsole:
Tasmota BerryDriver : Backlog UpdateDriverVersion https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/tasmota/autoexec.be; Restart 1 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.7.0.tft TFT EU STABLE Version : FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v3.7.3.tft
--------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------
*/ */
let Icons = new IconsSelector(); let Icons = new IconsSelector();
@@ -930,7 +933,7 @@ function get_locales() {
async function check_updates() { async function check_updates() {
try { try {
const desired_display_firmware_version = 46; const desired_display_firmware_version = 46;
const berry_driver_version = 6; const berry_driver_version = 8;
if (Debug) { if (Debug) {
console.log('Check-Updates'); console.log('Check-Updates');
@@ -1378,7 +1381,7 @@ function update_berry_driver_version() {
} }
function update_tft_firmware() { function update_tft_firmware() {
const tft_version: string = 'v3.7.0'; const tft_version: string = 'v3.7.3';
const desired_display_firmware_url = `http://nspanel.pky.eu/lovelace-ui/github/nspanel-${tft_version}.tft`; const desired_display_firmware_url = `http://nspanel.pky.eu/lovelace-ui/github/nspanel-${tft_version}.tft`;
try { try {
request({ request({
@@ -3320,11 +3323,27 @@ function HandleButtonEvent(words): void {
case 'bUp': case 'bUp':
if (pageId < 0) { // Prüfen, ob button1page oder button2page if (pageId < 0) { // Prüfen, ob button1page oder button2page
pageId = 0; pageId = 0;
UnsubscribeWatcher();
GeneratePage(config.pages[pageId]);
} else { } else {
pageId = Math.abs(pageNum); pageNum = (((pageId - 1) % config.pages.length) + config.pages.length) % config.pages.length;
pageId = pageNum;
UnsubscribeWatcher();
if (activePage != undefined && activePage.parent != undefined) {
//update pageID
for (let i = 0; i < config.pages.length; i++) {
if (config.pages[i] == activePage.parent) {
pageId = i;
break;
}
}
GeneratePage(activePage.parent);
}
else {
GeneratePage(config.pages[pageId]);
}
break;
} }
UnsubscribeWatcher();
GeneratePage(config.pages[pageId]);
break; break;
case 'bNext': case 'bNext':
pageNum = (((pageId + 1) % config.pages.length) + config.pages.length) % config.pages.length; pageNum = (((pageId + 1) % config.pages.length) + config.pages.length) % config.pages.length;