-
-
Notifications
You must be signed in to change notification settings - Fork 194
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
implement click on indicator function #1144
Conversation
Gargano hat im Screensaver2 die 5 Entitäten f1Icon bis f5Icon mit einem "on Click" Ereignis versehen. Der Hintergrund ist, dass man gezielt von dieser generischen Status-Übersicht in eine spezielle card mit den Details kommen kann. Die Nachfrage nach einer solchen Funktion ist zumindest in der ioBroker Welt vorhanden... Bitte prüfen... Falls das für andere Systeme (HA, etc.) ein Problem darstellt, könnte man dem Screensaver 2 auch noch eine optionale Variable mitgeben. Im NSPAnelTS.ts |
Sind irgendwie noch weitere Änderungen im Gargano-File vorhanden. Bezieht sich aber auf diese Indikatoren: Das sind die Änderungen für das entsprechende Klick-Ereignis, exemplarisch für f1Icon:
|
Ich fänds sauberer, wenn das Panel sich die entityId merkt und die in dem buttonPress wieder ausgibt, so wie auch z.b. auf cardGird. Das könnte auf dem screensaver2 aber am Arbeitsspeicher von dem Panel scheitern. |
Ist ja ausschließlich ein Event auf dem Screensaver2... Verstehe da den Zusammenhang nicht... Es wird der Screensaver verlasse, ohne dass ein bExit passiert. Über die Zuordnung des ButtonEvent wird eine bestimmte definierte Seite aufgerufen, die als Parameter in der Config eingetragen ist... Funtioniert eigentlich soweit ganz gut... Würde nur sehr ungerne mit 'nem Fork weiterarbeiten... |
Bei allen anderen Buttons taucht der
Macht für mich mehr sinn als ne feste Position, damit brauchst du keine extra logik für die buttons auf dem screensaver. Ich hab das mal eingebaut, musste aber an anderen Stellen Arbeitsspeicher sparen könnte Nebeneffekte haben und der intNameEntity darf maximal 14 Zeichen haben. |
Was hast Du da denn opfern müssen ? |
Sieht nach einem sehr guten Kompromiss aus. |
ja, meine entity namen sind nur noch 14 zeichen lang, weil die so ne art uuid sind und ich mappe die im hintergrund sowieso schon zu den homeassistant entity namen - früher stand da der ganze entity name und die variable musste viel länger sein |
Wird das dann ein Single oder Doppelclick ? Ich würde ein Singleclick bevorzugen, da die Icons klein sind und mit Doppelclick wird es evtl. schwierig richtig zu treffen. Bei meinem Beispiel ist es ein Singleclick. |
Doppelklick gibt es in Nextion ja grundsätzlich nicht wirklich. |
Habs eben mal getestet SmartHome/NSPanel_1/tele/RESULT = {"CustomRecv":"event,buttonPress2,screensaver"} Da fehlt die 1 hinten beim 1x Klick und die 2 beim Doppelklick und das bExit Ist da jetzt etwas anders oder einfach nur vergessen? War vorher: |
da hab ich eigentlich nix dran geändert o.O |
ah, das ist nen nebeneffekt von dem kleineren tSend, dann muss der wohl wieder größer und was anderes kleiner |
so, tsend hat wieder die alte größe |
Test erfolgreich bExit läuft und tSend.txt="event,buttonPress2,"+entn3.txt+",button" kommt auch sauber zurück 23:21:55.608 MQT: SmartHome/NSPanel_1/tele/RESULT = {"CustomRecv":"event,buttonPress2,f1Icon,button"} Ansonsten ist mir nichts aufgefallen, was anders wäre... Top !!! |
fixed :) |
v4.3.3.38 NSPanelTs.ts enthält die Änderungen. Der Parameter ScreensaverEntityNaviToPage (nicht string in items.name) enthält wie im folgenden Beispiel die Seitenvariable: Ist ScreensaverEntityNaviToPage nicht vorhanden (also undefined) oder null, so wird ein bExit, 2 emuliert und über den Button lässt sich wie gewohnt der Screensaver beenden.
|
Änderungen: PR wird als umgesetzt geschlossen... |
implement click on indicator function
The parts are marked with 'gargano'