[Beta Modul] NSPanel Lovelace UI

auch bei mir besteht Interesse. :slight_smile:

Klar, bitte weiter machen!

Lieber Kai, danke für deine unendliche Arbeit für uns. Mach bitte auch hier weiter.
Ich nutze dieses Modul.

Ich habe gerade ein neues NSPanel geflasht und es scheint seit gestern oder heute die Version 47 zu geben, welche dann vermutlich wieder im Modul-Code berücksichtigt werden muss:

{"CustomRecv":"event,startup,47,eu"}

Für alle, die sich heute ebenfalls fragen wie die Version 46 installiert werden kann → Einfach die alte Version auf das Display flashen:

Tasmota-Konsole:

FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v3.7.0.tft

Danach funktioniert das Modul in der aktuellen Version wieder wie gewohnt.

3 „Gefällt mir“

Hall Kai,

ja, bitte weitermachen!
Es wäre schön wenn es die Möglichkeit gäbe dem screensaver noch Werte hinzuzufügen oder das Panel mit einer bereits erstellten visu zu verknüpfen.

Gruß Richard

Es gibt eine neue Beta Version, dort sollte nun auch die Farbe bei den Lampen funktionieren.

Grüßer,
Kai

Kannst du das mit der neuen Version nun auch nochmal versuchen?

Grüße,
Kai

Passiert das mit der aktuellen Beta Version noch?

Grüße,
Kai

Hallo Kai,

die Farbauswahl funktioniert super😉

Vielen Dank dafür!

Die Funktion Color Temperature scheint bei meinem Hue Stripe keine Funktion zu haben. Die ist für mich aber auch nicht relevant. Der Eintrag im Display ist auch da, wenn ich dafür keine Variable angebe. Würde es evtl. die Möglichkeit geben diesen Teil nicht einzublenden um mehr Platz auf der Oberfläche für die Beschriftung zu bekommen?

Viele Grüße aus Hamburg

Axel

Dann ist das ein Hardware Problem?

Lösche mal die Karte und lege sie neu an, ich hatte da ein Fehler. Evtl. ist das danach so wie es ein soll.

Grüße,
Kai

Es gibt eine neue Beta Version, dort kann man für den Bildschirmschoner das Wetter aktivieren.
Die Daten für das Wetter müssten per Script gesetzt werden dafür gibt es folgende Funktion:

$InstanzID = 12345;

$values[0] = '23.0C'; //Tag 1 Temperatur

$values[1] = 'Fr.'; //Tag 2 Name
$values[2] = 'weather-lightning'; //Tag 2 Icon
$values[3] = '25.0C'; //Tag 2 Temperatur

$values[4] = 'Sa.'; //Tag 3 Name
$values[5] = 'weather-night'; //Tag 3 Icon
$values[6] = '23.5C'; //Tag 3 Temperatur

$values[7] = 'So.'; //Tag 4 Name
$values[8] = 'weather-hazy'; //Tag 4 Icon
$values[9] = '20.5C'; //Tag 4 Temperatur

$values[10] = 'Mo.'; //Tag 5 Name
$values[11] = 'weather-snowy';//Tag 5 Icon
$values[12] = '5.5C'; //Tag 5 Temperatur

NSP_weatherUpdate($InstanzID, $values);

Es reicht die Daten einmal pro Tag zu senden bzw. dann wenn sich etwas ändert. Die Wetterdaten werden intern im Modul gespeeichert und immer dann abgerufen, wenn der Bildschirmschoner aktiv gesetzt wird.

Dazu muss noch in der Instanz das Wetter aktiviert werden:

Hier gibt es eine Liste aller Icons: Material Design Icons

@norden, dein Wunsch ist umgesetzt. :slight_smile:

Grüße,
Kai

Moin Kai, vielen Dank. Ich probiere es heute Nachmittag aus.

VG
Dieter

1 „Gefällt mir“

Es gibt noch eine neue Beta Version.

Dort gibts es nun den Typ cardGrid.
Der Farbtemperatur Slider funktioniert nun.
Und das Modul ist an die neueste Firmware angepasst, ihr müsst also die aktuelle Display Firmware installieren.

Grüße,
Kai

1 „Gefällt mir“

Hi,

hab im Grid mal ein Eintrag „Light“ hinzugefügt, mit einer einfachen Bool var als Lampe, leider wird da nichts geschaltet.

11.01.2023, 15:22:26 | Case Payload Result Topic :: Payload | {"CustomRecv":"event,buttonPress2,53980,button"}

Wenn ich deinen Code richtig verstehe, reagierst du auf das „button“ noch nicht?

image

Gruß

Drück mal lange drauf.

Grüße,
Kai

Ah das klappt, danke.

Hab es nun mal auf „Switch“ geändert, da passiert aber nichts mehr?

Das sollte nun auch funktionieren.
Bei dem Typ Light sollte nun auch ein kurzer klick auf das Icon funktionieren und die Lampe ein- bzw. ausschalten.

Grüße,
Kai

1 „Gefällt mir“

Danke, das ging fix!

Was mir noch aufgefallen ist, mein Screensaver geht nicht mehr an. Steht auf 10Sekunden, bleibt aber immer im Menü hängen.

Und das Wetter Skript bringt bei mir noch einen Fehler, läuft aber trotzdem durch:


Notice: Undefined offset: 0 in /var/lib/symcon/modules/.store/schnittcher.info.ips.nspanel.lovelaceui/Backend/module.php on line 519

Deprecated: strpos(): Non-string needles will be interpreted as strings in the future. Use an explicit chr() call to preserve the current behavior in /var/lib/symcon/modules/.store/schnittcher.info.ips.nspanel.lovelaceui/libs/icon-mapping.php on line 6904
array(13) {
  [1]=>
  string(5) "9,17C"
  [2]=>
  string(3) "Thu"
  [3]=>
  string(21) "weather-partly-cloudy"
  [4]=>
  string(2) "0C"
  [5]=>
  string(3) "Fri"
  [6]=>
  string(13) "weather-night"
  [7]=>
  string(3) "11C"
  [8]=>
  string(3) "Sat"
  [9]=>
  string(12) "weather-hazy"
  [10]=>
  string(2) "8C"
  [11]=>
  string(3) "Sun"
  [12]=>
  string(13) "weather-snowy"
  [13]=>
  string(2) "0C"
}

Mein Fehler, du musst im Script bei dem Array mit 0 anfangen.

Grüße,
Kai

Hallo Kai,

vielen Dank für die Weiterentwicklung des Moduls.

Ich habe gerade mal mit der aktuellen Beta-Version das Wetter-Update-Skript testen wollen.

Leider erscheint bei mir ebenfalls folgende Fehlermeldung (trotz dem Beginn des Arrays bei 0):

Notice: Undefined offset: 13 in /var/lib/symcon/modules/.store/schnittcher.info.ips.nspanel.lovelaceui/Backend/module.php on line 532

Wäre es ebenfalls möglich eine weitere Alternative zu der Wetteranzeige im Skript zu implementieren?
Aktuell zeige ich gerne die aktuelle Raumtemperatur, die Luftfeuchtigkeit sowie die CO2-Konzentration auf den jeweiligen Paneln per CustomSend mit deinem Modul an.

Der Nachteil an meiner Lösung mit NSP_CustomSend ist natürlich, dass die angezeigten Strings nach einem Update des Screensavers wieder verschwinden, bis ich die Daten neu (aktuell jede Minute) an die NSPanels sende. Am besten wären vermutlich zwei Variablen (Heading und Message) für jede Backend-Instanz, welche man dann variabel mit einem Skript befüllen könnte.

Mein Update-Befehl sieht aktuell folgendermaßen aus (natürlich mit GetValue() anstelle der festen Werte):

    $nspanel_id = 12345;
    $heading ="17,4 °C / 64 % /  619 ppm";
    $message = ""; # <- Hier könnte man beispielsweise auch noch Benachrichtigungen (Mülltonne etc.) auf jedem Panel anzeigen
    $notify_cmd = "notify~".$heading."~".$message;
    NSP_CustomSend($nspanel_id, $notify_cmd);

Anbei noch ein Foto, wie das dann in der Realität aussieht.

Viele Grüße,
jbr27