NSPanel Modul

Das mit Büro und Urlaub ist bei mir gleich.
Betreffend Home-Element:
Dies gibt’s lt. Spezifikation bei der „pageType~cardPower“ - und zwar ist dies das Element in der Mitte.
Dort gebe ich aktuell unten veränderliche Werte aus einer Variable aus. Und dies führt halt bei jeder Variablenänderung zu einem kompletten Refresh
image

moin,
ich glaube das funktioniert leider nicht. Ein Update scheint es nur beim Screensaver zu geben. Sobald eine „card*“ dargestellt wird, kann diese nur als ganzes aktualisiert werden.

Hab ich auch schon versucht zu lösen, aber ohne Erfolg. Deshalb wird bei einer ausgelösten Aktion auf einer Seite, bspw. Schalter betätigt, diese Aktion gefiltert und nicht an’s Display gesendet, somit vermeidet man das Flackern auf dem Display.

Habe heute mal da warme Wetter genutzt und etwas mit der Wetteranzeige rumgespielt:

pageType~screensaver
weatherUpdate~~~~21427~abc~28.4°~~~~21427~~Text~~~~21427~~Text2~~~  ~21427~~Text34~~~~21427~~Text345

zaubert eine Wetterinfo aufs Display. Kannst Du über send1 und send an das Display senden.
Was für einen Wetterdienst nutzt Du denn?

Aktuell scheint das Display ein Icon in beliebiger Farbe und einen Text auf das Display zu bringen, das erste Icon ist etwas größer, die weitern 4 sind etwas kleiner. Es kann auch noch eine weitere Info bestehend aus Icon und Text angezeigt werden, die steht dann auf der ersten Position (links) in der unteren Hälfte.

Grüße Detlev.

Danke dir.
Das mit dem Update der PowerCard ist natürlich schade - vielleicht kommt da in einer der nächsten Firmware´s was nach.
Betreff Wetterdienst:
ich hab noch keinen und bin am Überlegen ob ichs nicht einmal tgl. direkt von der ORF-Seite runter hole. Die Vorhersage ist mir für meinen Bereich am zuverlässigsten.
Wobei ich für Alternativen gerne zugänglich bin.

Hallo Detlev,
a) gibt’s auch eine Möglichkeit das Wetterupdate nicht per SEND bzw. SEND1 sondern mittels Programm zu übertragen ?
b) Um nochmals auf den „Erweiterter Screensaver“ zurückzukommen - kann ich auch diesen (lt. Muster) irgendwie verwenden?
Nextion_Editor_1YObADtPra

Mein Wunsch wäre es eigentlich eine Seite zu haben welche eine Wettervorhersage darstellt, alternierend Nachrichten anzeigt, evtl. einen Alarm und auch noch PV Daten darstellt .
Entweder alles auf einem Screen oder auch alternierend auf 2 verschiedenen.

Moin habre,

prinzipiell ist alles möglich, alles eine Frage des Aufwands :slight_smile:

Ich habe in den letzen Tagen etwas gebastelt, der Wetterstring lässt sich nun einblenden.
Die Wetter-Infos kommen bei mir von openWeather, über das schicke Modul von demel42.

Über die Buttons send und send1 kannst Du Strings an das Display senden, ist aber eigentlich nur zum Testen gedacht.

Aktuell wird nun in der Screensaver-Section alles erforderlich für die Ausgabe der Wetterinfo zusammengestellt. Die Symbole sind auch in der GUI hinterlegt, das erspart Dir den Umweg über die UTF8-Codes.

Es ist alles noch im Beta-Status, auch wird der Wetterstring aktuell mit jeder Zeitänderung ( also jede Minute ) zusammengebastelt und übertragen. im Quellcode steckt auch noch jede Menge Debug-Code.
Doku gibt es auch noch nicht.

So sieht das Setting aktuell bei mir aus:

Den erweiterten Screensaver kann ich mir gerne mal ansehen, gibt es Doku dazu?
Das wird aber noch etwas dauern, habe für das NSPanel nur noch ein, zwei Tage eingeplant, dann kommt erstmal ein anderes Projekt an die Reihe.

Hier ist die Beta-Version vom Modul.
Die Files im Verzeichnis …/modules/nspanel-by-boni/NSPanelConfig über die vorhandenen Files entpacken. Ersetzt module.php und form.json ergänzt icon-mapping.php. Dann mittels MC_ReloadModule das Modul neu laden oder Symcon neu starten. Danach die Konfiguationsseite einmal öffnen und speichern, damit die neuen Variablen gesetzt werden.

nspanel_beta.zip (67,5 KB)

Viel Spaß beim Testen,

Grüße Detlev

Ja sollte auch hier sein:

With Version 4.0.0 there is another alternative layout for the screensaver:
Configuration is similar, you just need to add type: screensaver2 to switch the layout.

Danke für die anderen Anpassungen - ich denke das schaff ich erst nach meinem Urlaub - ich bin am Donnerstag weg.
Auch dir einen schönen Urlaub.

Hallo,
ich habe deine Anpassungen aus der ZIP Datei installiert.
Mit der Wettervorhersage bin ich leider noch nicht soweit - da grüble ich noch drüber wie ich die Daten aus dem tollen OpenWeatherMap Modul weiterverarbeite.
Ich wollte nun bei einer ganz normalen „pageType~cardEntities“ Wertzuweisungen definieren.
Die erste Wertzuweisungen klappt ganz normal und funktioniert auch.
Sobald ich eine weitere Zeile hinzufüge bekomme ich die Fehlermeldung:

Fehler beim Übernehmen der Änderungen

Warning: foreach() argument must be of type array|object, string given in D:\Daten\ProgramData\Symcon\modules\NSPanel-by-boni\NSPanelConfig\module.php on line 118
 (Code: -32603)

Und die Einträge schauen dann wie folgt aus:
image
Der 2. Eintrag funktioniert dann, der Erste ist allerdings kaputt.
Könntest du da mal drüber schauen?

Moin Moin,

sorry für die späte Rückmeldung, hab momentan wenig Zeit für die schönen Dinge im Leben, ab Mittwoch soll es etwa ruhiger werden, dann schaue ich mir die Sache mal an.

Grüße

1 „Gefällt mir“

eine neue Version des NSPanel ist nun online. Bitte teste es doch einmal, ob das Problem nun behoben ist.
Das Manual ist nun auch an die neue Syntax des NSPanel angepasst.

Grüße und schönen Abend.

Detlev

Vielen Dank für dein rasches drüberschauen.
Ich hab mal nur die letzte Fehlermeldung getestet.
Die Fehlermeldung ist weg, ich kann nun mehrere Einträge machen.
Allerdings wird nur ein Eintrag davon auch dargestellt, die anderen werden ignoriert.
Die Logik dahinter hab ich nicht rausgefunden.


Schade dass es so wenig Rückmeldungen gibt. Das legt die Vermutung nahe dass sich kaum jemand damit beschäftigt.
Schöne Woche,
Hans

Moin,

ich wundere mich gerade über die 97 Einträge in der Tabelle Wertzuweisung. Das bedeutet, das auf Seite 3 des NSPanel 97 Variablen dargestellt werde. Ist das so beabsichtigt?

Grüße Detlev

Hallo Detlev,
vergiss das mit den 97 Einträgen.
Das war während das Übernehmen der Änderungen nicht funktioniert hat - also vor deiner letzten Anpassung.
Da habe ich einen Eintrag erstellt, und sobald ein weiterer hinzugefügt wurde ist der erste Eintrag zerschossen worden und hat 97 Einträge dargestellt.
Jetzt habe ich jeweils nur 1 Eintrag.

Moin habre,
nutzt Du noch dieses Modul? Du hattest Mal Interesse bekundet auf der „Home“-Seites des Panels alternierend Uhrzeit und anderen Dinge anzuzeigen. Ich werde mich zwischen den Jahren da mal dran setzen und könnte ggfls ein paar Anregungen von Dir berücksichtigen.

Grüße Detlev.

Hallo Detlev,
ja ich würde schon sehr gerne.
Hauptanwendungsgebiet wäre:
Nachbildung eines kleinen Dashboards (Alarmmeldungen, evtl. auch nur durch Symbole, Müll am nächsten Tag) - solche Dinge - man muss sehen was möglich ist.
Auch das Wetter.
Aber daran scheiterts momentan noch.
Vielleicht wäre dies nach deinen Anpassungen möglich.
Liebe Grüße und schöne Feiertage aus Linz.

Eine neue Version ist soeben auf GitHub bereitgestellt worden:

  • Dokumentation überarbeitet
  • Weatherforecast überarbeitet
  • Unterstützung für cardThermo, Multiplikator kann nun angegeben werden

Grüße Detlev

Hallo Hans,

wie stellst Du Dir das Dashboard genau vor? Meines Wissens nach gibt es beim NsPanel nur die Seite ScreenSaver oder Seiten die Elemente darstellen.
Ein Dashboard wäre somit über ein cardGrid möglich. Doch dann haben wir nur Symbole und einen kurzen Hinweis unter dem Symbol.

Eine andere Idee wäre über popupNotify

pageType~popupNotify
entityUpdateDetail~internalName~Hinweis~12345~zurück~17562~weiter~17562~es sind 3 Fenster geöffnet:~65535~0~2

Zeigt einen Text auf dem Display mit zwei Buttons unten an. Über ein Timeout lässt sich das Fenster auch automatisch schließen.
Mit den Buttons könnte man durch die Seiten blättern.
Grüße aus Münster und guten Rutsch
Detlev.

Noch ne Idee,

über das Element Button kann eine beschriftbare Schaltfläche erstellt werden:

pageType~cardEntities
entityUpd~Rollo~btn~bPrev~~65535~~~btn~bNext~~65535~~~button~18163~99~17299~Fenster geöffnet~Info~button~18164~~17299~Müllabfuhr~Info

Über den Infobutton könnte dann das popupNotify mit weiteren Infos geöffnet werden

Bleibt nur die Frage wann das Info-Fenster angezeigt werden soll, alternierend mit dem Display-Screensaver oder eigenständig ohne Screensaver des Displays, praktisch als eigener Screensaver?

Hallo Detlev,
Prosit 2024!
Was soll ich schreiben - ?
Musste mich auch erst wieder ein bisschen einlesen.
Sinnvoll ist nur eine Seite auf welcher alles „wichtige“ angezeigt wird.
Ich hatte am 3.7.23 mal einen Kommentar geschrieben betreffend „erweiterten“ Screensaver.
Ich denke dass man damit schon einiges erreichen könnte.
Gibt’s wo einen Alarm - das lässt sich über eine Sammelalarmanzeige lösen.
Morgen den Müll raus - das bekommt man auch rauf.
Und noch irgendwas - auch das geht.
Und auch die Temperaturanzeige und die Wettervorhersage.
Link dazu:

type: screensaver2 to switch the layout.

Auch interessant beim normalen Screensaver:

Using a 6th entity will automatically activate the alternative layout.
Wobei ich das allerdings noch nicht versucht habe.

Es gibt aber anscheinend auch eine Möglichkeit wo man anstelle der Wettervorhersage einen Text einblendet - ich gestehe, damit habe ich mich noch nicht beschäftigt.


Liebe Grüße,
Hans

Hallo Johannes,

ich habe ein paar Fragen zum Display. Es gibt inzwischen einen alternativen Screensaver sowie cardChart cardLChart, leider kann ich dazu keine Doku finden. Kannst Du mir die Doku zur Verfügung stellen?

Gibt es eine Möglichkeit einzelne Werte in einer Seite zu aktualisieren?
Beispiel:
cardMedia oder cardPower
Wenn sich ein Wert auf diesen Seiten ändert, sende ich aktuell immer den kompletten String an das Display um die Werte zu aktualisieren, das führt dann zu einem unschönen Flackern, gerade bei der cardPower-Seite, da ändern sich die Werte recht häufig.

Grüße Detlev.

Zu dem alternativen screensaver:
pagetype ist „screensaver2“ sonst ist es die gleiche syntax nur deutlich mehr entities

Zu den Chart pages, die kommen aus der iobrocker Welt und ich hab die selbst nicht implementiert - einen Versuch das zu dokumentieren gibt es von armilar in einem GitHub issue