NEWS
SONOFF NSPanel mit Lovelace UI
-
Gibt es die Möglichkeit den Namen in einer Infozeile aus einem Alias zu beziehen?
ja - aus dem info-Alias
Es soll in einer Zeile z.B. „nächste Ferien Winterferien“ stehen.
Das „ nächste Ferien“ soll sich dann in „ aktuelle Ferien“ ändern.Ich gehe davon aus, dass der Text dann wie folgt getrennt ist:
Icon - Name (= aktuelle Ferien oder nächste Ferien) - Wert (Winterferien)<PageItem>{ id: "alias.0.Allgemein.Ferien.FerienName", icon: "calendar-star" , name: getState('Hier der Datenpunkt mit dem Namen').val, onColor: White, offColor: White},
EDIT: Habe es mehrfach verändert, bin aber auch erst später auf die einfachste Lösung gekommen
Also einfach statt
name: ' '
folgendes:
name: getState('Hier der Datenpunkt mit dem Namen').val
verwenden
-
kurze Info:
Das Release 3.9.0 verzögert sich noch ein paar Tage auf voraussichtlich: 03.02.2023
-
Release 49 / v3.9.0 Preview 1:
In den kommenden Tagen stelle ich die bereits dokumentierten Erweiterungen für das nächste Release vor:
das erweiterte Service-Menü:
Es wurden diverse Parameter aus der TS-Script-Config in ioBroker-Datenpunkte verlagert. Diese lassen sich neben bereits vorhandenen Datenpunkten jetzt direkt im Service-Menü des jeweiligen NSPanel's steuern. Die erforderlichen Datenpunkte, Alias-Channel und Alias-States legt das TS-Script automatisch an. Somit sollte bei TS-Script-Ausführung das Menü ohne zusätzlichen Aufwand verfügbar sein.
Link zur Wiki:
https://github.com/joBr99/nspanel-lovelace-ui/wiki/NSPanel-Service-Menü -
@armilar
das mit der Parmeterübergabe dynamisch getState() ist ja mal cool, damit geht dann ja auch sowas bei Page-Grid/-Entities:'items': [ <PageItem>{ id: "alias.0.NSPanel.Rollos.Büro", icon: "window-shutter", name: "Büro: " + getState('alias.0.NSPanel.Rollos.Büro.ACTUAL').val + "%", ...
funkt super, leider nur 1x nach Scriptstart (oder liegt das noch an der der Version 3.8.1)
-
guter Hinweis: Ich baue da für die 3.9 noch einen Trigger ein... Ansonsten wird der Wert nicht neu gelesen...
-
Hat das schon mal jemand gehabt ?
Ich habe etwas rumexperimentiert mit dem NTC Temperaturfühler.Plötzlich nach erneutem Einschalten : Display dunkel , keine WLAN Verbindung mehr, nix geht mehr.
Dem Herzschlag nahe ...Nach erneuter Installation durch den Webinstaller und USB-Seriell Adapter kam wieder WLAN und nach kompletter Installation des NSPanel lief es wie vorher.
Kann mir nicht erklären wieso.
Gruß
Werner -
Das neue Service-Menü (ab 3.9.0) sieht super aus!
Ist eine Passwortabfrage (Zahlencode) vor dem Service-Menü möglich?
Damit nicht jeder darin etwas verstellen kann. -
@mayan sagte in SONOFF NSPanel mit Lovelace UI:
Das neue Service-Menü (ab 3.9.0) sieht super aus!
Ist eine Passwortabfrage (Zahlencode) vor dem Service-Menü möglich?
Damit nicht jeder darin etwas verstellen kann.Leider nicht. Das einzige wäre eine cardAlarm davorzuschalten und dann erst bei positiver Rückmeldung die Serviceseite einschalten... Gibt es viele Hacker bei euch Zuhause?
-
Ich experimentiere auch viel am NSPanel (das Schreibtisch- und Testpanel) herum, aber das einzige was dabei irgendwann mal (schon ewig lange her) mal hatte, war das der Berry nicht wollte. Habs dann ebenfalls geflashed und bemerkt, ich hätte nur einen neuen Driver installieren müssen
Nein, Ausfall gab es bislang bei allen Panels noch nie...
-
das mit der Parmeterübergabe dynamisch getState() ist ja mal cool, damit geht dann ja auch >sowas bei Page-Grid/-Entities:
<PageItem>{ id: "alias.0.NSPanel.Rollos.Büro", icon: "window-shutter", name: "Büro: " + >getState('alias.0.NSPanel.Rollos.Büro.ACTUAL').val + "%", ...
funkt super, leider nur 1x nach Scriptstart (oder liegt das noch an der der Version 3.8.1)
Wenn du magst kannst du das mal testen:
Habe es etwas abgewandelt, damit das Script nicht bei jedem Item herumrechnen muss:
In der
function CreateEntity
folgenden Part suchen:// Fallback if no name is given name = pageItem.name !== undefined ? pageItem.name : o.common.name.de;
und durch den ersetzen:
// Fallback if no name is given name = pageItem.name !== undefined ? pageItem.name : o.common.name.de; // If name is used with changing values and unit if (name.indexOf('getState(') != -1) { let prefix = pageItem.prefixName !== undefined ? pageItem.prefixName : ''; let suffix = pageItem.suffixName !== undefined ? pageItem.suffixName : ''; let dpName: string = name.slice(10, name.length -6); name = getState(dpName).val; name = prefix + name + suffix; RegisterEntityWatcher(dpName); }
type PageItem wie folgt erweitern:
type PageItem = { ... ... prefixName: (string | undefined), suffixName: (string | undefined),
Jetzt kannst du ebenfalls folgende Situation zusammenbauen und die aktualisiert sich dann auch:
- prefixName: 'Büro: '
- name: Datenpunkt als String
- suffixName: '%'
Als PageItem also:
<PageItem>{ id: 'alias.0.NSPanel.Rollos.Büro', icon: 'window-shutter', prefixName: 'Büro: ', name: "getState('alias.0.NSPanel.Rollos.Büro.ACTUAL').val", suffixName: '%', ...
Dann sollte es gehen. Falls erfolgreich, bleibt es im Script...
@mayan : sollte dann auch für deine Ferienkalender funktionieren...
-
@armilar
super, danke,
funktioniert bisher sehr gut -
klasse, ich beschreibe das dann mal in der Wiki:
Damit prefix und suffix auch für andere Aliase genutzt werden können, habe ich die nochmal aus der Bedingung heraus genommen:
// Fallback if no name is given name = pageItem.name !== undefined ? pageItem.name : o.common.name.de; let prefix = pageItem.prefixName !== undefined ? pageItem.prefixName : ''; let suffix = pageItem.suffixName !== undefined ? pageItem.suffixName : ''; // If name is used with changing values if (name.indexOf('getState(') != -1) { let dpName: string = name.slice(10, name.length -6); name = getState(dpName).val; RegisterEntityWatcher(dpName); } name = prefix + name + suffix;
-
Habe eben deinen Post im Nirvarna der Anfragen gefunden und Antworte jetzt mal von hier
(ursprünglicher Post unter: https://forum.iobroker.net/topic/62448/fehlerhafte-seiten-im-nspanel)RPi4B, 4GB RAM
iobroker admin v6.3.5
Node.js: 16.19.0
NPM 8.19.3
Javascript Adapter 6.1.4
MQTT 4.0.7
Tasmota 12.3.1 (deutsche Version)
Hallo zusammen!
Ich habe hier im Forum bereits nach einschlägigen Begriffen gesucht, bin jedoch erfolglos geblieben. Wahrscheinlich ist mein Problem zu speziell. Die aus meiner Laiensicht wesentlichen Versionen / Eckdaten habe ich oben hinterlegt.
Zum Problem:
Ich habe das NSPanel nach Anleitung von Matthias Kleine (hausautomatiserung.com) eingerichtet.
Nach anfänglicher Euphorie (der Screensaver funktioniert einwandfrei mit den vorgesehenen Wetterdaten) habe ich jedoch das Problem, dass die einzelnen Seiten fehlerhaft dargestellt werden (Siehe Foto).
Im Erklärvideo lassen sich die verschiedenen Seiten auch ohne entsprechend verknüpfte Geräte durchblättern- soweit komme ich erst gar nicht.
Ich vermute einen JavaScript-Fehler, kann aber andere Quellen auch nicht ausschließen.
Es würde mich wirklich freuen, wenn ich einen kleinen Tipp bekommen könnte, woran es liegt.
20230126_172441734_iOS.heic
20230126_184843435_iOS.heic
Beste Grüße vom Niederrhein,
FabianZunächst ist es in der Tat sinnvoller die Bilder oder den Code direkt einzufügen. Aber das machen wir dann beim nächsten mal:
Du hast den Link von Matthias für das "FlashNextion" benutzt. Der ist richtig und der ist falsch. Warum ist der "richtig"? Du hast in jedem Fall die brandneueste Version (Developer-Version) der HMI installiert (HMI 49). Warum ist die falsch? Das Script in der v3.8.3 ist auf die HMI 48 (aktuelle HMI Release stable) abgestimmt. In der Regel ist das nicht so problematisch. Es sind aber in fast jeder Seite (und dieses mal sogar im Screensaver) Änderungen in der Nextion HMI entstanden und die müssen auch im Script korrekt übersetzt werden.
Also mit einfachen Worten. Wenn du ein:
FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v3.8.3.tft
durchführst, dann hast du das passende Script zur aktuellen HMI stable
Dann sollte das Panel auch alles so anzeigen, wie es sein soll...
LG
ArmilarSteht aber auch im Script-Header oder in der Wiki
Falls es dennoch Probleme geben sollte, dann einfach nochmal antworten (kein eigenes Thema aufmachen)
EDIT:
FlashNextion http://nspanel.pky.eu/lui.tft
ist die aus dem Video von Matthias - und das ist die "falsche" Nextion-HMI Version
EDIT2:
Hier ist der Link zur ioBroker NSPanel Wiki:
https://github.com/joBr99/nspanel-lovelace-ui/wiki
Du findest im Forum Antworten, aber hier steht die Lösung...EDIT3:
Bevor ich es vergesse.Herzlich willkommen bei den NSPanel'ern und viel Spaß mit deinem neuen Panel -
Woher nimmt der Screensaver die Uhrzeit? Ich bin gestern vom Raspi auf Proxmox umgezogen, seit dem stimmt die Uhrzeit im Display nicht mehr. In der Console wird die richtige Uhrzeit angezeigt.
-
Guten Morgen. Vielleicht hilft dir das weiter
-
@tt-tom Das hatte ich schon gelesen, aber brachte bei mir keine Änderung. Das komische ist, es stimmt die Uhrzeit eigentlich überall, nur im iobroker werden mir 2 verschiedene angezeigt.
2023-01-28 09:05:03.119 info Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason dwd.0 2023-01-28 09:05:00.730 info starting. Version 2.8.3 (non-npm: ioBroker/ioBroker.dwd#643a61b0ad0598752280ac84a9ea9886ae699440) in /opt/iobroker/node_modules/iobroker.dwd, node: v16.19.0, js-controller: 4.0.24 host.IOBroker 2023-01-28 09:05:00.068 info instance system.adapter.dwd.0 started with pid 2237 admin.0 2023-01-28 08:04:48.445 info <== Disconnect system.user.admin from ::ffff:192.168.178.50 host.IOBroker 2023-01-28 08:04:43.443 info Updating repository "stable" under "http://download.iobroker.net/sources-dist.json" admin.0 2023-01-28 08:04:41.681 info ==> Connected system.user.admin from ::ffff:192.168.178.50
die Zeit springt von 8:04 auf 9:05
-
Stimmt die Zeitzone/astro Einstellung im Iobroker,
So etwas, dass die Zeit springt, habe ich noch nicht gesehen. -
@tt-tom stimmt alles, es wird mir überall die richtige Zeit angezeigt. Nur in Protokoll passiert dann das. Ich denke ich werde es nochmal neu installieren, da die Vis auch nicht funktioniert nach dem Backup.
-
Woher nimmt der Screensaver die Uhrzeit? Ich bin gestern vom Raspi auf Proxmox umgezogen, seit dem stimmt die Uhrzeit im Display nicht mehr. In der Console wird die richtige Uhrzeit angezeigt.
Aus dem System, auf dem der ioBroker läuft. Wenn es also ohne Virtualisierung (VM/Docker) läuft, dann direkt aus dem Betriebssystem (In deinem Fall dann RaspiOS) des Servers. Wenn jetzt ein Proxmox als VM installiert ist, dann dürfte die Zeiteinstellung der VM wohl der Übeltäter sein. Sollte die Suche einschränken...
Da ich aber kein Proxmox einsetzte, kann ich dich dabei leider nicht unterstützen...
Sieht für mich aber nach einem Zeitzonen-Problem aus.
Kleiner Tipp:
Das muss ebenfalls die korrekte Uhrzeit anzeigen, denn nichts anderes wird im Script genutzt.<xml xmlns="https://developers.google.com/blockly/xml"> <block type="schedule" id="6Yu`)QwfE4qpNfmr268P" x="87" y="37"> <field name="SCHEDULE">* * * * * *</field> <statement name="STATEMENT"> <block type="debug" id="l?5O/}11]yr#/m#;`2FP"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id=";K3bqfLSLWG6r5B(k/C{"> <field name="TEXT">test</field> </shadow> <block type="time_get" id="(NH7-ko5K-Lstw6QrhtK"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">hh:mm:ss.sss</field> </block> </value> </block> </statement> </block> </xml>
-
stimmt alles, es wird mir überall die richtige Zeit angezeigt. Nur in Protokoll passiert dann das. Ich denke ich werde es nochmal neu installieren, da die Vis auch nicht funktioniert nach dem Backup.
vielleicht hilft das?. Eine Neuinstallation wird sicher das gleiche Ergebnis bringen:
https://www.eidenschink.eu/2014/05/uhrzeit-und-zeitzone-proxmox-ubuntu-container-setzen.html