[Beta Modul] NSPanel Lovelace UI

Also dein Beispielcode liefert beim Ausführen eine Fehlermeldung:

Notice: Undefined offset: 13 in D:\Daten\ProgramData\Symcon\modules\.store\schnittcher.info.ips.nspanel.lovelaceui\Backend\module.php on line 616

Ich hab dann einfach mal folgenden Eintrag hinzugefügt:
$values[13] = 'xx';

Als Ergebnis erhalte ich dann:

Das müsste ich mir genauer anschauen, da habe ich aber aktuell keine Zeit zu.

Grüße,
Kai

Hallo,
hat jemand schon von dem NSPanel Manager gehört?

Ist das im Prinzip wie das Backend in Symcon?

Hat es einen Mehrwert? Ich versteh es so dass es für mehrer NS Panel gedacht ist.

Kann man beide kombinieren?

Hallo,

ich habe gerade mit folgender IP-Symcon Version probiert einige Änderungen an meiner bestehenden NSPanel Konfiguration vorzunehmen:

Beim ändern des MQTT Topics erscheint folgende Fehlermeldung:

Und bei einer Anpassung an den bestehenden „Karten“ erscheint folgender Fehler:

Ist dies bei euch ebenfalls der Fall bzw. habt ihr eine Idee zur Fehlerbehebung?

Viele Grüße,
jbr27

Ist das mit der aktuellen IPS Version auch noch der Fall?

Grüße,
Kai

Hallo, ich möchte heute auch ein Update auf einem meiner 2 Displays (nicht pro) machen - Hab IPS 6.4.


hab mit FlashNextion http://nspanel.pky.eu/lui-release.tft die aktuelle Display Version installiert. Seit dem Neustart wird mir in der Console nur noch

15:25:41.281 MQT: tele/nspanel2/RESULT = {„CustomRecv“:„event,startup,53,eu“}

angezeigt und das Display wartet auf Content.

Kennt jmd das Problem?

Gruß oekomat

Hallo KaiS,

vielen Dank für die Rückfrage.
Ich kann leider bestätigen, dass die gleichen Fehlermeldungen ebenfalls mit folgender IP-Symcon Version auftreten:

IP-Symcon 7.0, Ubuntu (amd64), 06.10.2023, a5a429d5785c

Viele Grüße,
jbr27

Bei mir mit einer Testversion IPS V7 ebenfalls die gleichen Fehlermeldungen…

IP-Symcon 7.0, Ubuntu (Docker) (amd64), 24.10.2023, ec6a478afeb9

Ebenfalls noch:

29.10.2023, 13:47:38 |      MQTT:RX:PUBLISH | Topic: tele/nspanel/RESULT, Payload: {"CustomRecv":"event,startup,53,eu"}

Weiter oben steht was von einer Datei, die man editieren kann. Fügt man die Fehlernummer hinzu, verschwindet sie.

/var/lib/symcon/modules/.store/schnittcher.info.ips.nspanel.lovelaceui/Backend/module.php

case 'tele/' . $this->ReadPropertyString('topic') . '/RESULT':
                    $Payload = json_decode($data['Payload'], true);
                    if (array_key_exists('CustomRecv', $Payload)) {
                        $this->SendDebug('ReceiveData :: Payload CustomRecv', $Payload['CustomRecv'], 0);
                        switch ($Payload['CustomRecv']) {
                            case 'event,startup,39,eu': //Display wartet auf Initialisierung die Nummer steht für die Firmware Version
                            case 'event,startup,40,eu':
                            case 'event,startup,41,eu':
                            case 'event,startup,42,eu':
                            case 'event,startup,43,eu':
                            case 'event,startup,44,eu':
                            case 'event,startup,45,eu':
                            case 'event,startup,46,eu':
                            case 'event,startup,47,eu':
                            case 'event,startup,48,eu':
                            case 'event,startup,49,eu':
                            case 'event,startup,50,eu':
                            case 'event,startup,51,eu':
                            case 'event,startup,53,eu':
                                $this->SendDebug('Initialisierung :: Display', $data['Topic'], 0);
                                $this->CustomSend('time~' . date('H:i'));
                                $this->CustomSend('date~' . date('d.m.Y'));

Aber leider kann ich keine Inhalte erstellen:
Egal, was ich im Backend einstellen möchte…

Also, man kann keine Änderung speichern - es komm immer zu Fehlern:

Hallo zusammen,

ich habe mich in der module.php auch noch einmal auf Fehlersuche begeben und komme mit meinen PHP bzw. Modulkenntnissen leider nicht weiter.

Grundsätzlich existieren zwei Fehler:

  1. Sobald das topic geändert wird und auf „Änderungen übernehmen“ geklickt wird, erscheint der Script error. und das Skript bzw. die Eingabemaske hängt sich auf ohne die Änderung zu speichern.
  2. Eine Änderung der „Card Entities“ führt zu der oben genannten Fehlermeldung, dass der Array Key nicht definiert ist.

Wenn man fast den gesamten Inhalt der ApplyChanges Funktion auskommentiert, dann erscheint natürlich die zweite Fehlermeldung nicht mehr, aber die Änderungen werden nicht gespeichert, da die Formularelemente nicht mehr ausgelesen werden. Interessanterweise bleibt der erste Fehler sogar mit leerer ApplyChanges Funktion bestehen. D.h. wir müssen vermutlich an unterschiedlichen Stellen suchen, um beide Fehler zu beheben.

Zusätzlich habe ich mir mal $this->ReadPropertyString('listCards') beim Übernehmen ausgeben lassen und der Array ist leer ([[]]). Es scheint so, als wenn der Umstieg von IP-Symcon 6.X auf 7.0 eine Änderung bei dem Auslesen der Formularfelder mit sich gebracht hat und nun nicht mehr korrekt durch die Formularelemente iteriert werden kann.

Leider bin ich nun mit meinen Kenntnissen am Ende.

@KaiS Hättest du eine Vermutung was am Modul für IP-Symcon 7.0 angepasst werden müsste? Ich würde mich dann daran versuchen die Änderungen zu implementieren, sobald ich eine grobe Idee der Ursache oder einer möglichen Lösung habe.

Viele Grüße,
jbr27

Hallo, ich hatte mit IPS 6.4 aktuell auf allen (2) Displays das Problem, dass sie gar nicht mehr reagiert haben. Nach einem Neustart sind die Switch Buttons verschwunden.
Also hab ich die Buttons in der Backend Konfiguration neu angelegt, das brachte trotz Neustart der Displays keine Änderung.
Die Console meldet aktuell nur die Übermittlung der MQTT Daten - also alles ok. In IPS kommen diese auch mittels IPS-MQTT Server an. Nur die Anzeige passt nicht (mehr).

Weiß jemand Rat?

Gibt es hierzu ggf. etwas neues ?
Habe das gleiche Problem …

Zur Zeit nicht, was habt ihr denn geändert?

Grüße,
Kai

Hallo fleißiger Kai,

Seit IPS V7 geht es nicht mehr, hatte nur keine Zeit mich drum zu kümmern, jetzt steht aber der Einbau von mehreren Geräten an und da viel es wieder auf

Via Tasmota/MQTT sind die Tasten und die Temperatur da, nur das Display lässt sich nicht einrichten

Hallo KaiS,

mein im September 2023 beschriebener Fehler ist weiterhin vorhanden: [Beta Modul] NSPanel Lovelace UI - #227 von jbr27

@bastelfrosch hat es aber schon gut zusammengefasst. Seit dem Update auf IP-Symcon v7 ist das Modul leider nicht mehr verwendbar, da beim Aufruf der Instanz nur noch Fehlermeldung erscheinen. Interessanterweise funktionieren bereits konfigurierte NSPanel weiterhin, nur Änderungen (auch nicht das Tasmota Topic) sind nicht mehr möglich.

Ich habe schon einmal probiert den Fehler im Code zu finden, bin aber leider etwas überfordert welche Änderungen von IP-Symcon v6 zu v7 im Code erforderlich sind. Es scheint hier ja irgendeine Umstellung im Hintergrund stattgefunden zu haben, wofür der Code angepasst werden muss.

Ich wäre sehr an einer Unterstützung bei der Fehlersuche interessiert, da wir aktuell sechs NSPanel verbaut haben, welche ich nur ungern ersetzen würden. Es gibt ja leider auch keine wirkliche Alternative, welcher aktuell besser in IP-Symcon eingebunden ist (bspw. Shelly Wall Display).

Viele Grüße,
jbr27

Ich finde leider noch keine Lösung.
Ich habe @Dr.Niels schon angeschrieben, ob es mir helfen kann.

Edit: Ich habe mir das nochmal angeschaut, ich gehe davon aus, dass es mit der Liste zusammenhängt. Ich warte mal ab bis @Dr.Niels zu dem Fehler was sagt. :wink:

Grüße,
Kai

Hallo KaiS,

vielen Dank für die Rückmeldung zum aktuellen Stand - dann existiert ja noch Hoffnung!

Viele Grüße,
jbr27

@KaiS Auf welchem Kanal hast du mich angeschrieben? Da ist nichts angekommen :wink:

Aber ich habe mal reingeschaut und hab den Fehler. Die Liste „List of Cards“ beinhaltet eine weitere Liste, deren add-Wert ein leerer String ist. Da Listen aber immer als JSON abgespeichert werden und das kein gültiges JSON ist, fliegt der Fehler. Ich habe das mal angepasst, dass ungültiges JSON immer eine leere Liste ist. Für den schnellen Fix passt du aber einfach mal den add-Wert von „“ auf „[.]“ an (ohne Punkt, aber sonst greift im Forum tolle Magie…)