NEWS
SONOFF NSPanel mit Lovelace UI
-
Ich tippe übrigens auf die IconSelector, also das 2. TypeScript, dass die Icons enthält und im global angelegt sein muss (und natürlich angeschaltet)
Bist du nach dieser Anleitung vorgegangen?
https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---Basisinstallation -
Seit neuesten bekomme ich beim Start des Scripts zwei Zeilen mit den roten Fehlern
Error by subscription (trigger): empty ID defined. All states matched.
Ich vermute, irgendein Datenpunkt in den Aliasen passt nicht, aber kann ich das irgendwie debuggen bzw selber draufkommen, welche Subscription den Fehler auslöst?
Das Skript startet trotzdem und läuft scheinbar auch fehlerfrei, aber rot ist doch störend -
rot ist nicht so schön Ich habe auch nicht die geringste Ahnung, warum sich das nicht in Pink umstellen lässt.
Nee, mal kurz Spaß beiseite. Stell mal im Script-Editor oben in der Ecke:
im Schraubenschlüssel den Haken bei "Ausführliche Protokollausgaben" rein und starte mal durch. Danach sende mal das Log mit den Fehlern in rot und so ein klein wenig an Log-Infos drumherum hier in Code-Tags.Evtl. siehst du selbst die Fehlerquelle schon...
-
@armilar said in SONOFF NSPanel mit Lovelace UI:
im Schraubenschlüssel den Haken bei "Ausführliche Protokollausgaben" rein und starte mal durch. Danach sende mal das Log mit den Fehlern in rot und so ein klein wenig an Log-Infos drumherum hier in Code-Tags.
Evtl. siehst du selbst die Fehlerquelle schon...Ah! Aber die Fehlerquelle ist noch unklar
19:30:47.180 info javascript.0 (557640) script.js.common.NSPanel.1: subscribe: {"pattern":{"id":"0_userdata.0.NSPanel_1.Relay.1","change":"ne","q":0},"name":"script.js.common.NSPanel.1"} 19:30:47.181 info javascript.0 (557640) script.js.common.NSPanel.1: subscribe: {"pattern":{"id":"0_userdata.0.NSPanel_1.Relay.2","change":"ne","q":0},"name":"script.js.common.NSPanel.1"} 19:30:47.181 error javascript.0 (557640) script.js.common.NSPanel.1 Error by subscription (trigger): empty ID defined. All states matched. 19:30:47.181 error javascript.0 (557640) script.js.common.NSPanel.1 Error by subscription (trigger): empty ID defined. All states matched. 19:30:47.182 info javascript.0 (557640) script.js.common.NSPanel.1: Wetter-Alias existiert bereits 19:30:47.183 info javascript.0 (557640) script.js.common.NSPanel.1: subscribe: {"pattern":{"id":"0_userdata.0.NSPanel_1.PageNavi","change":"any","q":0},"name":"script.js.common.NSPanel.1"}
Scheinbar werden die beiden Relais-Datenpunkte abonniert, dann zwei Fehler, und dann geht es mit dem Wetter etc. weiter. Oder lese ich das falsch? Danke!
EDIT: Hat sicher erledigt - ich hatte bei mrIcon1ScreensaverEntity und mrIcon2ScreensaverEntity unter entity "null" eingetragen weil ich keine Icons oben haben wollte, in der letzten Scriptversion warf das noch keinen Fehler.
-
Super, danke für die Info.
"null" sollte auch künftig wieder möglich sein. Ich prüfe das für die nächste Version und werde vorher abfragen, ob einer von den Icons "null" ist. Dann sollte null auch ohne Fehler funktionieren, da die Init für die Subscriptions der jeweiligen Icons nicht mehr durchlaufen werden.
-
Wenn du es direkt wieder ohne Buttons haben möchtest kannst du den Teil suchen (relativ weit oben):
on({id: [].concat(config.mrIcon1ScreensaverEntity.ScreensaverEntity).concat(config.mrIcon2ScreensaverEntity.ScreensaverEntity), change: "ne"}, async function (obj) { if (obj.id.substring(0,4) == 'mqtt') { let Button = obj.id.split('.'); if (getState(NSPanel_Path + 'Relay.' + Button[Button.length - 1].substring(5,6)).val != obj.state.val) { await setStateAsync(NSPanel_Path + 'Relay.' + Button[Button.length - 1].substring(5,6), obj.state.val == 'ON' ? true : false); } } });
und gegen den Teil ersetzen:
async function SubscribeMRIcons () { if (config.mrIcon1ScreensaverEntity.ScreensaverEntity != null) { on({id: config.mrIcon1ScreensaverEntity.ScreensaverEntity, change: "ne"}, async function (obj) { if (obj.id.substring(0,4) == 'mqtt') { let Button = obj.id.split('.'); if (getState(NSPanel_Path + 'Relay.' + Button[Button.length - 1].substring(5,6)).val != obj.state.val) { await setStateAsync(NSPanel_Path + 'Relay.' + Button[Button.length - 1].substring(5,6), obj.state.val == 'ON' ? true : false); } } }); } if (config.mrIcon2ScreensaverEntity.ScreensaverEntity != null) { on({id: config.mrIcon2ScreensaverEntity.ScreensaverEntity, change: "ne"}, async function (obj) { if (obj.id.substring(0,4) == 'mqtt') { let Button = obj.id.split('.'); if (getState(NSPanel_Path + 'Relay.' + Button[Button.length - 1].substring(5,6)).val != obj.state.val) { await setStateAsync(NSPanel_Path + 'Relay.' + Button[Button.length - 1].substring(5,6), obj.state.val == 'ON' ? true : false); } } }); } } SubscribeMRIcons();
dann sollte auch "null" wieder möglich sein.
LG
-
hallo
habe den Biobroker heute neu aufgesetzt.
nun zeigt das Panel nicht mehr die richtige Uhrzeit...
Uhrzeit im pi und im Broker sind aber richtig...
muss ich noch was beachten? -
Abweichungen der Uhrzeit waren bislang Bestandteil von:
-
Einstellungen der loacales im pi
sudo raspi-config
dann zu Set Locale navigieren und de_DE.UTF-8 auswählen (falls noch nicht aktiv)
Ebenfalls bitte noch nachsehen, ob Timezone auf Europa/Berlin steht
-
Node.js
Welche Version ist aktuell auf dem pi installiert? Die node.js Version bekommst du im Systemterminal mitnode -v
heraus und dann wäre noch interessant, welches Betriebssystem auf dem pi läuft (buster oder bullseye)
-
-
@armilar said in SONOFF NSPanel mit Lovelace UI:
dann sollte auch "null" wieder möglich sein.
Super, funktioniert!
-
@bean sagte in SONOFF NSPanel mit Lovelace UI:
dann sollte auch "null" wieder möglich sein.
Super, funktioniert!
Perfekt, dann kommt es so auch in die folgenden Versionen...
-
@armilar
Kommando zurück, funktioniert doch nicht (Hattte übergangsweise eine andere Entity eingetragen und das vergessen)
Der Unterschied: Ich darf nun gar kein 'none' eintragen (wird gleich rot unterstrichen), das ging vorher noch, dann kam der Fehler aber erst beim kompilieren.
Wenn ich zwei Anführungszeichen ohne Inhalt einfüge, kommt der Fehler "empty id defined" wie davor -
-
@armilar said in SONOFF NSPanel mit Lovelace UI:
@bean sagte in SONOFF NSPanel mit Lovelace UI:
none
null wird abgefragt - kein "none"
Autsch Sorry, es ist noch früh - so gehts natürlich
-
Hallo zusammen.
Habe einige Erfahrungen mit diesem tollen Tool machen dürfen. Danke hierfürNun wollte ich wiederum zurück auf Tasmota. Flashen via OTA und seriell funktionierte, jedoch ist das Display immer noch
auf "waiting for content...".
Ebenso wurden die Dateien nspanel.be und autoexec.be angelegt.
Wer hat mir eine Hilfe wie ich das Nextion wieder weg bekomme?Danke
-
Du meinst Tasmota mit der Original TFT-Firmware. Dazu benötigst du die Original Sonoff- Firmware. Soweit ich das verfolgt habe, gab es ein oder 2 User im Forum, die den Weg ebenfalls gegangen sind. Evtl. hilft dir das weiter?:
Going back to Stock Screen firmware
You can easily revert back to stock HMI firmware at any time, if you want. Simply use the same process as above. You just need to use the original TFT file. A link to that is here;
https://community.home-assistant.io/t/sonoff-nspanel-smart-scene-wall-switch-by-itead-coming-soon-on-kickstarter/332962/145?u=m-homeThis will revert the Nextion HMI to stock, not the Tasmota side. This process would involve re-flashing the backup taking during the flash of Tasmota. This is not in scope here.
Weitere Infos dazu habe ich aber auch nicht...
-
@armilar said in SONOFF NSPanel mit Lovelace UI:
Abweichungen der Uhrzeit waren bislang Bestandteil von:
-
Einstellungen der loacales im pi
sudo raspi-config
dann zu Set Locale navigieren und de_DE.UTF-8 auswählen (falls noch nicht aktiv)
Ebenfalls bitte noch nachsehen, ob Timezone auf Europa/Berlin steht
-
Node.js
Welche Version ist aktuell auf dem pi installiert? Die node.js Version bekommst du im Systemterminal mitnode -v
heraus und dann wäre noch interessant, welches Betriebssystem auf dem pi läuft (buster oder bullseye)
hi
zeit ist auf richtige Einstellung.
node.js ist Version 16.18.1os ist bullseye
-
-
@michael_4358 sagte in SONOFF NSPanel mit Lovelace UI:
nun zeigt das Panel nicht mehr die richtige Uhrzeit...
Uhrzeit im pi und im Broker sind aber richtig...
muss ich noch was beachten?zeit ist auf richtige Einstellung.
node.js ist Version 16.18.1Im Spoiler ist das o.a. Blockly. Führe das mal aus und teile das Ergebnis mit
-
@armilar said in SONOFF NSPanel mit Lovelace UI:
<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> -
Sieht für mich aber immer noch nach einer falschen Zeitzone aus. Alternativ Sommer und Winterzeit.
Was zeigt das Script, wenn du vorher:
sudo ntpd -qg
ausführst?
-
@armilar said in SONOFF NSPanel mit Lovelace UI:
sudo ntpd -qg
sudo ntpd -qg sudo: ntpd: Befehl nicht gefunden