NEWS
SONOFF NSPanel mit Lovelace UI
-
@armilar ok.
Wie geschrieben mache ich morgen früh.
Habe die Anleitung so oft gelesen das ich schon sorge hatte ich habe das überlesen.
EDIT: Object angelegt, Wert eingetragen und ruhe ist im Log.
DANKE!
-
@wendy2702 sagte in SONOFF NSPanel mit Lovelace UI:
Habe die Anleitung so oft gelesen das ich schon sorge hatte ich habe das überlesen.
So habe die Wiki für den Emulator mal kurz an den aktuellen Stand angepasst.
-
@armilar sagte in SONOFF NSPanel mit Lovelace UI:
Fehlermeldung im Editor:
Error:Invalid number of arguments:qrcode m1.x,m1.y,200,defaultBcoColor,65535,-1,vaQR.txt( Double click to jump to code) Error:Invalid number of arguments:qrcode m0.x,m0.y,200,defaultBcoColor,65535,-1,vaQR.txt( Double click to jump to code) Error:Compile failed! 2 Errors, 1 Warnings,
Kommt vom letzten Update des Nextion Editor's
https://nextion.tech/download/nextion-setup-v1-63-3.exe
https://nextion.tech/download/nextion-setup-v1-63-3.zip
Installiert mal die Version... Die aber dann nicht uppen...Wie ist denn dann die Syntax mit der aktuellen Version des Nextion Editor's ?
-
Es gibt keine Syntax für einen Bug im Nextion Editor...
Deinstallieren und die 1.63.3 installieren.
-
qrcode 8,m1.x,m1.y,200,defaultBcoColor,65535,-1,vaQR.txt qrcode 8,m0.x,m0.y,200,defaultBcoColor,65535,-1,vaQR.txt
Diese Änderung ist seitens Nextion aber nirgends dokumentiert und da neue Editor Versionen in der Vergangenheit lustige Seiteneffekte hatten werde ich mit dem Update von dem Editor noch etwas warten, die Version .1 mit Bugfixes kam ja auch schon, erstmal abwarten, was da sonst noch so kommt.
-
Hallo Zusammen,
ich bin gerade dabei meine Aliase etwas aufzuräumen. Dabei möchte ich die NSPanel Aliase in eine höhere Ebene bringen.
Da die notwenidgen Aliase selbstständig angelegt werden, habe ich einfach nur den Alias Pfad geändert.
Jedoch werden nicht Aliase automatisch angelegt. Anbei zwei Bilder:
Alter Pfad
Neuer Pfad
Als Beispiel hier der Alias Config. Es wird nur ein Bruchteil von dem angelegt was vorher da war.
Woran liegt das?
Skriptversion 3.9.0.2
VG
Nico -
@niiccooo1 Lösche mal die entsprechenden Datenpunkte unter 0_userdata. Im Skript wird oftmals abgefragt ob userdata existiert, falls nein wird der Datenpunkt dort erzeugt und anschließend das Alias angelegt.
-
Hallo zusammen, ich komme leider nicht weiter .
Aktuell sieht mein Screensaver so aus und ich weiß leider nicht warum?
Könnt ihr mir eventuell weiter helfen.
-
@venice Sieht aus, als ob die verwendete Skriptversion und TFT Firmware nicht zusammenpasst. Kannst du mal deine verwendeten Versionen posten?
-
@ravenst0ne Super Danke dir es hat geklappt.
-
@ravenst0ne
Hat geklappt! -
Hallo,
ich hatte bis zur aktuellen Version (V3.9.0.2) den weatherForecast immer variabel eingestellt.
Bis Mittag: den aktuellen Tag + 4 Tage (let i = 1 ; i < 5;) und
Nachmittag: Morgen + 4 Tage (let i = 2 ; i < 6;).
Das hat bis zur V3.9.0.2 immer funktioniert.
Dies funktioniert leider nicht mehr. Gibt es eine Möglichkeit, das es wieder funktioniert?// AccuWeather Forecast Tag 1 - Tag 5 -- Wenn weatherForecast = true for (let i = getState(NSPanel_Path + "ScreensaverInfo.weatherDayStart").val; i < getState(NSPanel_Path + "ScreensaverInfo.weatherDayEnd").val; i++) { //for (let i = 2 ; i < 6; i++) {
-
@bumbum said in SONOFF NSPanel mit Lovelace UI:
Hallo zusammen, ich verwende das NSPanel mit ioBroker und hab auch die Aktuelle Version des TFT Treibers und auch die aktuelle Verson des Skripts (TypeScript v3.9.0.1).
Ich habe das Problem, dass bei mir einige Datenpunkte nicht angezeigt werden. Beispielsweise ist die Seite "Dimmode (1)" (NSPanel_ScreensaverDimmode), komplett leer. Die Aliase und die Datenpunkte sind aber da. Auch fehlt die Anzeige der SSID auf der Seite NSPanel_Wifi_Info_2. Wie kann das sein? Hab ich was übersehen? Alle anderen Seiten funktionieren soweit.Schon mal danke für die Hilfe.
Hi, konnte das Problem schon jemand lösen, habe heute das Update gemacht und habe genau das gleich Problem.async function InitDimmode() { try { // Screensaver nachts auf dunkel ("brightnessNight: z.B. 2") oder aus ("brightnessNight:0") if (!existsState(NSPanel_Path + 'NSPanel_Dimmode_brightnessDay')) { await createStateAsync(NSPanel_Path + 'NSPanel_Dimmode_brightnessDay', <iobJS.StateCommon>{ type: 'number' }); await setStateAsync(NSPanel_Path + 'NSPanel_Dimmode_brightnessDay', <iobJS.State>{ val: 8, ack: true }); setObject(AliasPath + 'Dimmode.brightnessDay', {type: 'channel', common: {role: 'slider', name:'brightnessDay'}, native: {}}); await createAliasAsync(AliasPath + 'Dimmode.brightnessDay.ACTUAL', NSPanel_Path + 'NSPanel_Dimmode_brightnessDay', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ACTUAL' }); await createAliasAsync(AliasPath + 'Dimmode.brightnessDay.SET', NSPanel_Path + 'NSPanel_Dimmode_brightnessDay', true, <iobJS.StateCommon>{ type: 'number', role: 'level', name: 'SET' }); } if (!existsState(NSPanel_Path + 'NSPanel_Dimmode_hourDay')) { await createStateAsync(NSPanel_Path + 'NSPanel_Dimmode_hourDay', <iobJS.StateCommon>{ type: 'number' }); await setStateAsync(NSPanel_Path + 'NSPanel_Dimmode_hourDay', <iobJS.State>{ val: 7, ack: true }); setObject(AliasPath + 'Dimmode.hourDay', {type: 'channel', common: {role: 'slider', name:'hourDay'}, native: {}}); await createAliasAsync(AliasPath + 'Dimmode.hourDay.ACTUAL', NSPanel_Path + 'NSPanel_Dimmode_hourDay', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ACTUAL' }); await createAliasAsync(AliasPath + 'Dimmode.hourDay.SET', NSPanel_Path + 'NSPanel_Dimmode_hourDay', true, <iobJS.StateCommon>{ type: 'number', role: 'level', name: 'SET' }); } if (!existsState(NSPanel_Path + 'NSPanel_Dimmode_brightnessNight')) { await createStateAsync(NSPanel_Path + 'NSPanel_Dimmode_brightnessNight', <iobJS.StateCommon>{ type: 'number' }); await setStateAsync(NSPanel_Path + 'NSPanel_Dimmode_brightnessNight', <iobJS.State>{ val: 1, ack: true }); setObject(AliasPath + 'Dimmode.brightnessNight', {type: 'channel', common: {role: 'slider', name:'brightnessNight'}, native: {}}); await createAliasAsync(AliasPath + 'Dimmode.brightnessNight.ACTUAL', NSPanel_Path + 'NSPanel_Dimmode_brightnessNight', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ACTUAL' }); await createAliasAsync(AliasPath + 'Dimmode.brightnessNight.SET', NSPanel_Path + 'NSPanel_Dimmode_brightnessNight', true, <iobJS.StateCommon>{ type: 'number', role: 'level', name: 'SET' }); } if (!existsState(NSPanel_Path + 'NSPanel_Dimmode_hourNight')) { await createStateAsync(NSPanel_Path + 'NSPanel_Dimmode_hourNight', <iobJS.StateCommon>{ type: 'number' }); await setStateAsync(NSPanel_Path + 'NSPanel_Dimmode_hourNight', <iobJS.State>{ val: 22, ack: true }); setObject(AliasPath + 'Dimmode.hourNight', {type: 'channel', common: {role: 'slider', name:'hourNight'}, native: {}}); await createAliasAsync(AliasPath + 'Dimmode.hourNight.ACTUAL', NSPanel_Path + 'NSPanel_Dimmode_hourNight', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ACTUAL' }); await createAliasAsync(AliasPath + 'Dimmode.hourNight.SET', NSPanel_Path + 'NSPanel_Dimmode_hourNight', true, <iobJS.StateCommon>{ type: 'number', role: 'level', name: 'SET' }); } const vTimeDay = getState(NSPanel_Path + 'NSPanel_Dimmode_hourDay').val; const vTimeNight = getState(NSPanel_Path + 'NSPanel_Dimmode_hourNight').val; const timeDimMode = <DimMode>{ dimmodeOn: true, brightnessDay: getState(NSPanel_Path + 'NSPanel_Dimmode_brightnessDay').val, brightnessNight: getState(NSPanel_Path + 'NSPanel_Dimmode_brightnessNight').val, timeDay: (vTimeDay < 10) ? `0${vTimeDay}:00` : `${vTimeDay}:00`, timeNight: (vTimeNight < 10) ? `0${vTimeNight}:00` : `${vTimeNight}:00` }; // timeDimMode Day schedule({ hour: getState(NSPanel_Path + 'NSPanel_Dimmode_hourDay').val, minute: 0 }, () => { ScreensaverDimmode(timeDimMode); }); // timeDimMode Night schedule({ hour: getState(NSPanel_Path + 'NSPanel_Dimmode_hourNight').val, minute: 0 }, () => { ScreensaverDimmode(timeDimMode); }); ScreensaverDimmode(timeDimMode); } catch (err) { console.warn('function InitDimmode: ' + err.message); } }
Im Code wird zwar der Pfad abgefragt aber nie angelegt => muss man die Datenpunkte manuell anlegen?
AliasPath + 'Dimmode.brightnessDay' AliasPath + 'Dimmode.hourDay' AliasPath + 'Dimmode.brightnessNight' AliasPath + 'Dimmode.hourNight'
EDIT: Ich habe ein hinbekommen, habe nochmal alle vom Script erzeugten Alias gelöscht und dann wurden sie auch angelegt.~~
Aber ein Frage habe ich noch => mit der neuen Version funktioniert der Touch Display nur noch ruckelhaft, man muss übel oft klicken damit überhaupt was passiert teilweise landet man im Debug Menü. Wie bekomme ich das weg?
EDIT2: Ich wollte heute das nächste Panel umstellen, bei diesem werden einfach die Alias nicht erzeugt, irgendwie ist der Wurm drin
Dimmode wird nicht erzeugt, der Reboot Button fehlt unter Service fehlt, der Config.xxx Alias wird auch nicht erzeugt, bitte um Hilfe -
das Script prüft die Pfade unter 0_userdata.0., wenn sie da sind, wird nix angelegt. Soll heißen du solltest unter 0_userdata und unter Alias die Objekte löschen, dann sollten auch alle neu angelegt werden.
Edit2 : hast du dafür ein separates Script mit einer eigenen Objektstruktur?
-
@mayan sagte in SONOFF NSPanel mit Lovelace UI:
Hallo,
ich hatte bis zur aktuellen Version (V3.9.0.2) den weatherForecast immer variabel eingestellt.
Bis Mittag: den aktuellen Tag + 4 Tage (let i = 1 ; i < 5;) und
Nachmittag: Morgen + 4 Tage (let i = 2 ; i < 6;).
Das hat bis zur V3.9.0.2 immer funktioniert.
Dies funktioniert leider nicht mehr. Gibt es eine Möglichkeit, das es wieder funktioniert?Ich kann mir das für den bisherigen Screensaver nochmal ansehen. Für die 4.0.0 (demnächst mit zusätzlichem Advanced-Layout) habe ich alles was zum Screensaver an Code vorhanden war, weggeworfen und komplett neu implementiert. Ich sehe mir das mal an...
Kleine Preview für den Advanced Screensaver:
Der normale Screensaver (mit und ohne Alternativ-Layout) bleibt natürlich erhalten...
-
danke dir, habe jetzt nochmal alles gelöscht und dann wird es auch angelegt
Aber es ist trotzdem noch alles so träge => Button auf der cardEntities Seite kann man fast überhaupt nicht drücken, man muss immer in die Detailansicht, dass er reagiert und schaltet. Die Navigation reagiert auch nicht so gut wie in der älteren Version und meist lande ich dann auf der Debugseite
Es macht fast den Anschein als ob der Speicher komplett voll ausgenutzt wird und er deshalb nicht reagiert.
-
@ronny130286 sagte in SONOFF NSPanel mit Lovelace UI:
Es macht fast den Anschein als ob der Speicher komplett voll ausgenutzt wird und er deshalb nicht reagiert.
Zur Laufzeit ist immer nur eine Seite aktiv. Diese wir vom TS-Script entsprechend zum Panel transportiert und aufgeschaltet. Gleiches gilt für die Subscriptions (Trigger), die mit jeder Seite gelöscht werden und neu initialisiert werden.
Somit wird im Panel kein optionaler Speicherplatz, außer für die aktuelle Page (immer eine Page) benötigt.
Kann es sein, dass dein System (ioBroker) an der Schmerzgrenze läuft?
-
Eigentlich nicht, nutze ein Pi4 mit 4GB Ram
Freier Festplattenspeicher: 82%, Gesamte RAM-Auslastung: 2031 Mb / Frei: 67% = 2568 Mb [Server: iobroker - 21 Prozesse]
Bevor ich das update gemacht hatte lief es auch sehr gut sogar, ich kann mir es gerade nicht herleiten wieso das so langsam ist, selbst der Wlan Empfang ist Top.
-
CPU auch okay?
Evtl. mal die Wartezeit nach unten setzen?
oder die Max Events im Admin erhöhen:
Bei mir flutscht das Panel auch mit der neuen Version nur so - lief nie besser...
-
@ronny130286
Schau Dir mal mit dem Befehl top oder htop unter putty die Performance des Raspi und die einzelnen Prozesse an.
Ich hatte bei meinem Raspi 4 mit 4 GB schon swapping. Erst mit 8Gb und einer SSD liefs dann gut.