NEWS
SONOFF NSPanel mit Lovelace UI
-
@skatbert sagte in SONOFF NSPanel mit Lovelace UI:
Hallo an Alle,
als stiller Mitleser meinen größten Respekt und ein riesiges Dankeschön an alle Entwickler, Problemlöser und Wiki-Schreiber für diese fantastische Projekt. Konnte ich mir als ambitionierter Nicht-Programmierer bisher alles anhand eurer Beschreibungen, Video´s etc erarbeiten und es funktioniert.
Nun zu meinem Problem, wie gesagt prinzipiell funktioniert alles was ich brauche bis auf die verfluchte 3. Seite. Bisher hatte ich nur 2 Seiten zum Schalten von Licht und Steckdosen im Garten und das funktioniert auch mit dem hin und her blättern der Seiten. Nun wollte ich eine 3. Seite einfügen und kann nur immer zwischen 2 Seiten blättern. Ich versuche das mal zu erklären:
Starte ich auf Seite 1 kann ich auf 2 weiterblättern, es wird der Pfeil zum weiterblättern auf die Seite 3 zwar angezeigt, es passiert aber nichts, zurück auf Seite 1 geht. Bleibe ich auf Seite 2 und der Screensaver aktiviert sich, wird nach deaktivierung (Touch) die zuletzt aufgerufene Seite, in diesem Fall die Seite 2 gestartet und von da kann ich dann auf die neue 3. Seite blättern, dafür aber nicht zurück auf Seite 1. Warte ich wiederum einmal auf den Screensaver kann ich von 2 wieder auf 1, aber nicht auf 3.Ich habe die neuste Scriptversion, alles nochmal neu eingerichtet und das Ergebnis des Blättern ist dasselbe. An einem überlasteten IoBroker System kann es nicht liegen, der werkelt auf einer Synology 420+ mit 16gb Ram und langweilt sich.
Ich hoffe da hat einer eine Idee.
Hi Skatbert,
magst du kurz deine Seiten und deine Config aus dem TS posten? ich würde mir das gerne ansehen... wird aber eher morgen...
-
@armilar Huch, das ist ja mal eine schnelle Antwort. Das hat jetzt auch keine Eile, das was laufen soll geht ja. Kann da eventuell beim flashen der Firmware was verlorengegangen sein?
Hier mal der Auszug aus dem TS
//-- Anfang der Beispiele für Seitengestaltung -- Aliase erforderlich ---------------- var Terrasse: PageEntities = { "type": "cardEntities", "heading": "Terrasse", "useColor": true, "subPage": false, "parent": undefined, "items": [ <PageItem>{ id: "alias.0.NSPanel.LED-Beleuchtung", name: "LED-Beleuchtung", icon: "led-strip-variant-off", icon2: "led-strip-variant", interpolateColor: true}, <PageItem>{ id: "alias.0.NSPanel.LED-Himmel", name: "LED-Himmel", icon: "led-on", icon2: "led-outline", interpolateColor: true}, <PageItem>{ id: "alias.0.NSPanel.Steckdose_Links", name: "Steckdose Links", icon: "power-socket-de", interpolateColor: true}, <PageItem>{ id: "alias.0.NSPanel.Steckdose_Rechts", name: "Steckdose Rechts", icon: "power-socket-de", interpolateColor: true} ] }; var Garten: PageEntities = { "type": "cardEntities", "heading": "Garten", "useColor": true, "subPage": false, "parent": undefined, "items": [ <PageItem>{ id: "alias.0.NSPanel.Gartenküche", name: "Gartenküche Strahler", icon: "lightbulb-on-outline", icon2:"lightbulb-outline", interpolateColor: true}, <PageItem>{ id: "alias.0.NSPanel.Carport", name: "Carport Strahler", icon: "lightbulb-on-outline", icon2:"lightbulb-outline", interpolateColor: true}, <PageItem>{ id: "alias.0.NSPanel.Schuppen", name: "Schuppen Strahler", icon: "lightbulb-on-outline", icon2:"lightbulb-outline", interpolateColor: true}, <PageItem>{ id: "alias.0.NSPanel.Kühlschrank", name: "Kühlschrank", icon: "power-socket-de", interpolateColor: true} ] }; var Test: PageEntities = { "type": "cardEntities", "heading": "Test", "useColor": true, "subPage": false, "parent": undefined, "items": [ <PageItem>{ id: "alias.0.NSPanel.Gartenküche", name: "Gartenküche Strahler", icon: "lightbulb-on-outline", icon2:"lightbulb-outline", interpolateColor: true}, <PageItem>{ id: "alias.0.NSPanel.Carport", name: "Carport Strahler", icon: "lightbulb-on-outline", icon2:"lightbulb-outline", interpolateColor: true}, <PageItem>{ id: "alias.0.NSPanel.Schuppen", name: "Schuppen Strahler", icon: "lightbulb-on-outline", icon2:"lightbulb-outline", interpolateColor: true}, <PageItem>{ id: "alias.0.NSPanel.Kühlschrank", name: "Kühlschrank", icon: "power-socket-de", interpolateColor: true} ] }; //-- ENDE der Beispiele für Seitengestaltung -- Aliase erforderlich ------------------ export const config: Config = { panelRecvTopic: 'mqtt.0.Berthome.Terrasse.NS-Panel_32D29C.tele.RESULT', // anpassen panelSendTopic: 'mqtt.0.Berthome.Terrasse.NS-Panel_32D29C.cmnd.CustomSend', // anpassen firstScreensaverEntity: { ScreensaverEntity: "accuweather.0.Daily.Day1.Day.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': 180} }, 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, autoWeatherColorScreensaverLayout: true, mrIcon1ScreensaverEntity: { ScreensaverEntity: 'mqtt.0.Berthome.Terrasse.NS-Panel_32D29C.stat.POWER1', ScreensaverEntityIcon: 'light-switch', ScreensaverEntityOnColor: On, ScreensaverEntityOffColor: Off }, mrIcon2ScreensaverEntity: { ScreensaverEntity: 'mqtt.0.Berthome.Terrasse.NS-Panel_32D29C.stat.POWER2', ScreensaverEntityIcon: 'lightbulb', ScreensaverEntityOnColor: On, ScreensaverEntityOffColor: Off }, timeoutScreensaver: 15, dimmode: 20, active: 100, //Standard-Brightness TFT screenSaverDoubleClick: false, locale: 'de-DE', // en-US, de-DE, nl-NL, da-DK, es-ES, fr-FR, it-IT, ru-RU, etc. timeFormat: '%H:%M', // currently not used dateFormat: '%A, %d. %B %Y', // currently not used weatherEntity: 'alias.0.Wetter.Kiel', defaultOffColor: Off, defaultOnColor: On, defaultColor: Off, temperatureUnit: '°C', pages: [ Terrasse, //Meine Testseite Garten, Test ], subPages: [ ], 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 _____________________________________
-
@skatbert sagte in SONOFF NSPanel mit Lovelace UI:
@armilar Huch, das ist ja mal eine schnelle Antwort. Das hat jetzt auch keine Eile, das was laufen soll geht ja. Kann da eventuell beim flashen der Firmware was verlorengegangen sein?
Hier mal der Auszug aus dem TS
//-- Anfang der Beispiele für Seitengestaltung -- Aliase erforderlich ---------------- var Terrasse: PageEntities = { "type": "cardEntities", "heading": "Terrasse", "useColor": true, "subPage": false, "parent": undefined, "items": [ <PageItem>{ id: "alias.0.NSPanel.LED-Beleuchtung", name: "LED-Beleuchtung", icon: "led-strip-variant-off", icon2: "led-strip-variant", interpolateColor: true}, <PageItem>{ id: "alias.0.NSPanel.LED-Himmel", name: "LED-Himmel", icon: "led-on", icon2: "led-outline", interpolateColor: true}, <PageItem>{ id: "alias.0.NSPanel.Steckdose_Links", name: "Steckdose Links", icon: "power-socket-de", interpolateColor: true}, <PageItem>{ id: "alias.0.NSPanel.Steckdose_Rechts", name: "Steckdose Rechts", icon: "power-socket-de", interpolateColor: true} ] }; var Garten: PageEntities = { "type": "cardEntities", "heading": "Garten", "useColor": true, "subPage": false, "parent": undefined, "items": [ <PageItem>{ id: "alias.0.NSPanel.Gartenküche", name: "Gartenküche Strahler", icon: "lightbulb-on-outline", icon2:"lightbulb-outline", interpolateColor: true}, <PageItem>{ id: "alias.0.NSPanel.Carport", name: "Carport Strahler", icon: "lightbulb-on-outline", icon2:"lightbulb-outline", interpolateColor: true}, <PageItem>{ id: "alias.0.NSPanel.Schuppen", name: "Schuppen Strahler", icon: "lightbulb-on-outline", icon2:"lightbulb-outline", interpolateColor: true}, <PageItem>{ id: "alias.0.NSPanel.Kühlschrank", name: "Kühlschrank", icon: "power-socket-de", interpolateColor: true} ] }; var Test: PageEntities = { "type": "cardEntities", "heading": "Test", "useColor": true, "subPage": false, "parent": undefined, "items": [ <PageItem>{ id: "alias.0.NSPanel.Gartenküche", name: "Gartenküche Strahler", icon: "lightbulb-on-outline", icon2:"lightbulb-outline", interpolateColor: true}, <PageItem>{ id: "alias.0.NSPanel.Carport", name: "Carport Strahler", icon: "lightbulb-on-outline", icon2:"lightbulb-outline", interpolateColor: true}, <PageItem>{ id: "alias.0.NSPanel.Schuppen", name: "Schuppen Strahler", icon: "lightbulb-on-outline", icon2:"lightbulb-outline", interpolateColor: true}, <PageItem>{ id: "alias.0.NSPanel.Kühlschrank", name: "Kühlschrank", icon: "power-socket-de", interpolateColor: true} ] }; //-- ENDE der Beispiele für Seitengestaltung -- Aliase erforderlich ------------------ export const config: Config = { panelRecvTopic: 'mqtt.0.Berthome.Terrasse.NS-Panel_32D29C.tele.RESULT', // anpassen panelSendTopic: 'mqtt.0.Berthome.Terrasse.NS-Panel_32D29C.cmnd.CustomSend', // anpassen firstScreensaverEntity: { ScreensaverEntity: "accuweather.0.Daily.Day1.Day.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': 180} }, 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, autoWeatherColorScreensaverLayout: true, mrIcon1ScreensaverEntity: { ScreensaverEntity: 'mqtt.0.Berthome.Terrasse.NS-Panel_32D29C.stat.POWER1', ScreensaverEntityIcon: 'light-switch', ScreensaverEntityOnColor: On, ScreensaverEntityOffColor: Off }, mrIcon2ScreensaverEntity: { ScreensaverEntity: 'mqtt.0.Berthome.Terrasse.NS-Panel_32D29C.stat.POWER2', ScreensaverEntityIcon: 'lightbulb', ScreensaverEntityOnColor: On, ScreensaverEntityOffColor: Off }, timeoutScreensaver: 15, dimmode: 20, active: 100, //Standard-Brightness TFT screenSaverDoubleClick: false, locale: 'de-DE', // en-US, de-DE, nl-NL, da-DK, es-ES, fr-FR, it-IT, ru-RU, etc. timeFormat: '%H:%M', // currently not used dateFormat: '%A, %d. %B %Y', // currently not used weatherEntity: 'alias.0.Wetter.Kiel', defaultOffColor: Off, defaultOnColor: On, defaultColor: Off, temperatureUnit: '°C', pages: [ Terrasse, //Meine Testseite Garten, Test ], subPages: [ ], 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 _____________________________________
Habe das neueste Script 3.4.0.5 (Online) mal geklont und deine Situation (Seiten und Config) übernommen. Ich habe dieses Problem dabei nicht nachvollziehen können.
Könntest du noch mal das Panel mit der TFT 3.4.0 flashen?
FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v3.4.0.tft
Das ist die einzige Komponente, die ich aktuell nicht einsehen kann. Wie werden die Relays (beiden Buttons) gennutzt? Ich vermute als Standard ohne Tasmota Rules, da die mrIcon1ScreensaverEntity und mrIcon2ScreensaverEntity auf Power1 und Power2 konfiguriert sind. Ist das korrekt?
-
Hallo,
ja genau, die Tasten sind Standard, ich werde heute Abend das Teil mal neu flashen, melde mich dann.Gruß und Danke
-
@Julez318 Super, dann funktioniert der Media-Alias auch?
Übrigens wir haben den Thread gewechselt...
-
@skatbert sagte in SONOFF NSPanel mit Lovelace UI:
Hallo,
ja genau, die Tasten sind Standard, ich werde heute Abend das Teil mal neu flashen, melde mich dann.Gruß und Danke
okay
Hatte gesehen, dass im Video nicht auf die TFT im Script (3.4.0) hingewiesen wird sondern auf die "latest" (DEV). Die kann natürlich schon weiter sein, als das TS-Script es verarbeiten kann. Aber versuche es ruhig mal.
Deine Config und deine Seiten sind absolut korrekt erstellt -
-
@kuckuckmann Läuft im Docker
-
@armilar Moin, ich habe das Panel auf die Version 3.4.0 geflasht, das Ergebnis ist das gleiche.
Es funktioniert wie vorher, Screensaver an/aus dann kann ich weiter blättern. Gerade zufällig entdeckt, wenn ich in die Unterseite irgendeines Schalters gehe und da wieder raus kann ich auch weiter blättern, allerdings auch hier nur 2 Seiten. OK, kann ich erstmal gut mit Leben. Aber schon irgendwie witzig.
Zum Test habe ich einen Werksrest von Tasmota gemacht, neu geflasht und eingerichtet. Berrydriver neu und das Panelsoftware neu geflasht. Alles wieder hingefrickelt und.... nix, immer ncoh nur 2 Seiten und der Umweg über eine Unterseite.
Hier nochmal ein Screenshot von der Tasmotaconsole, der MQTT Befehl kommt an, er schaltet bloß nicht weiter.Ich habe mir das jetzt nochmal genauer im Protokoll angeschaut, Screensaver deaktivieren, Das Script lädt die Seite und die dazugehörigen Aliase, erster Touch auf den Pfeil, das Script lädt die nächste Seite mit den Aliasen. Beim nächsten Touch passiert im Protokoll nichts, auf der Tasmota-Console ist der Befehl wie oben zu sehen. Es scheint als wenn der zweite Touch gesperrt wird und erst wieder zurückgesetzt wird wenn der Screensaver kommt oder man eine Subseite aufgerufen hat.
So mal meine laienhafte Interpretation, ich bin da jetzt raus, das ist 10 Nummern zu hoch für einen alten Mann.
Danke an alle die sich da mit mir einen Kopf machen
-
@skatbert sagte in SONOFF NSPanel mit Lovelace UI:
@armilar Moin, ich habe das Panel auf die Version 3.4.0 geflasht, das Ergebnis ist das gleiche.
Es funktioniert wie vorher, Screensaver an/aus dann kann ich weiter blättern. Gerade zufällig entdeckt, wenn ich in die Unterseite irgendeines Schalters gehe und da wieder raus kann ich auch weiter blättern, allerdings auch hier nur 2 Seiten. OK, kann ich erstmal gut mit Leben. Aber schon irgendwie witzig.
Zum Test habe ich einen Werksrest von Tasmota gemacht, neu geflasht und eingerichtet. Berrydriver neu und das Panelsoftware neu geflasht. Alles wieder hingefrickelt und.... nix, immer ncoh nur 2 Seiten und der Umweg über eine Unterseite.
Hier nochmal ein Screenshot von der Tasmotaconsole, der MQTT Befehl kommt an, er schaltet bloß nicht weiter.Ich habe mir das jetzt nochmal genauer im Protokoll angeschaut, Screensaver deaktivieren, Das Script lädt die Seite und die dazugehörigen Aliase, erster Touch auf den Pfeil, das Script lädt die nächste Seite mit den Aliasen. Beim nächsten Touch passiert im Protokoll nichts, auf der Tasmota-Console ist der Befehl wie oben zu sehen. Es scheint als wenn der zweite Touch gesperrt wird und erst wieder zurückgesetzt wird wenn der Screensaver kommt oder man eine Subseite aufgerufen hat.
So mal meine laienhafte Interpretation, ich bin da jetzt raus, das ist 10 Nummern zu hoch für einen alten Mann.
Danke an alle die sich da mit mir einen Kopf machen
@joBr99 - kennst du zufällig dieses Phänomen?
-
@armilar
Ich Tippe in dem Fall auf Datenpunkte, die nicht sauber angelegt sind oder fehlen.
Ich hatte so ein Phänomen, bei der QRCard, bevor ich die DP definiert hatte. -
@kuckuckmann sagte in SONOFF NSPanel mit Lovelace UI:
@armilar
Ich Tippe in dem Fall auf Datenpunkte, die nicht sauber angelegt sind oder fehlen.
Ich hatte so ein Phänomen, bei der QRCard, bevor ich die DP definiert hatte.Aber Seite 2 funktioniert und Seite 3 ist Seite 2, nur mit einer anderen Überschrift... wenn ich das richtig interpretiere kommt gar kein weiteres touch-event an.
-
@skatbert
Vlt. kannst Du zwei Sachen mal testen, falls noch nicht geschehen:- Panel mal ausschalten (Strom weg) und nach ca. einer Minute nochmal einschalten und testen
- im ioBroker das Skript mal stoppen und neu starten.
LG
@Armilar das kann nicht ggf. mit den Korrekturen neulich zusammenhängen? Vlt. könnte er mal auf V3.4.0.1 zurückrollen?
-
@kuckuckmann sagte in SONOFF NSPanel mit Lovelace UI:
@skatbert
Vlt. kannst Du zwei Sachen mal testen, falls noch nicht geschehen:- Panel mal ausschalten (Strom weg) und nach ca. einer Minute nochmal einschalten und testen
- im ioBroker das Skript mal stoppen und neu starten.
LG
@Armilar das kann nicht ggf. mit den Korrekturen neulich zusammenhängen? Vlt. könnte er mal auf V3.4.0.1 zurückrollen?
@Kuckuckmann : Versuch wäre es wert, wobei das Script nur auf die Events reagiert, die kommen ja nicht...
@Skatbert : Versuche mal den unteren Teil dieses Skriptes v3.4.0.2 zu verwenden. Da war noch eine andere Navi drin. (bPrev/bNext)
-
-
@skatbert Was passiert, wenn du noch ne vierte Seite hinzufügst?
Das Video möchte sich nicht abspielen lassen, noch nicht mal im VLC.
-
Äääähm....wo kommt denn die Seite Wohnzimmer her?
Kannst Du vlt. mal Dein ganzes Skript hier posten?Er kommt vom Screensaver --> Terrasse --> Garten --> dann klickt er die Lampe Gartenküche in die Details, das schließen mit x dauert paar Klicks, dann kommt Wohnzimmer. Dann zurück nach Garten, dort wieder Workarround mit der Lampe --> dann erst geht es weiter nach Terrasse
Das ist doch seltsam?
-
@armilar Auch mit der v3.4.0.2 keine Veränderung, jetzt wird es sportlich. Meiner Meinung nach scheidet ein Hardwarekincken im Display wohl aus, der MQTT Befehl kommt auf der Konsole ja an.
-
@skatbert ich würd auch im log von dem Skript suchen, das Panel schickt ja nur bNext
-
@kuckuckmann Die Seite 3 habe ich umbenannt und einen noch nicht vorhanden Alias eingebaut damit die Unterscheidung klarer wird.
Achso, das kommt im Video nicht so, das Panel reagiert einwandfrei, blos filmem und Taste treffen und gleichzeitig den Focus nicht verlieren ist so eine Sache
Hier mein ganzens Script: