NEWS
Sonoff NSPanel
-
Jetzt klappt es.
Gibt es irgendwie eine Möglichkeit die zwei Punkte automatisch zu leeren wenn sie am Panel weg gedrückt wurden bzw. kann man abfragen ob am Panel gerade der Screensaver angezeigt wird oder nicht? Damit könnte man einfach die Zeilen löschen lassen. -
Hi @armilar,
kann ich mittels String im CustomSend Datenpunkt eine bestimmte Page auf dem Panel öffnen lassen? Z.B. eine Subpage xyz.
Oder mittels einer Alternativen?Besteht die Möglicheit, auch ein PopUp anzeigen zu lassen, auch wenn nicht der Ruhebildschirm angezeigt wird?
-
@tklein sagte in Sonoff NSPanel:
Besteht die Möglicheit, auch ein PopUp anzeigen zu lassen, auch wenn nicht der Ruhebildschirm angezeigt wird?
Ja, die popupNotify Page kannst Du immer öffnen lassen, Du musst nur via Skript die Datenpunkte befüllen.
Du kannst Dir dazu mal das erweiterte Beispiel in der Wiki FAQ & Anleitung ansehen zur Alarmpage. Da habe ich ganz viel mit den Popups gearbeitet.Deine erste Frage interessiert mich auch. Hoffen wir mal das @Armilar uns das beantworten kann.
LG
-
@tklein sagte in Sonoff NSPanel:
Hi @armilar,
kann ich mittels String im CustomSend Datenpunkt eine bestimmte Page auf dem Panel öffnen lassen? Z.B. eine Subpage xyz.
Oder mittels einer Alternativen?Besteht die Möglicheit, auch ein PopUp anzeigen zu lassen, auch wenn nicht der Ruhebildschirm angezeigt wird?
Zu 1) Über den CustomSend kann eine Menge gesendet und aufgerufen werden. Ist bloß die Frage, was du alles nachbauen möchtes, was im Skript längst vorhanden ist. Daher beschreibe doch kurz die "ganze was passiert dann"-Maschine. Was soll aus welchem Grund wann und wie funktionieren. Dann kann ich dir zu diesem Punkt besser helfen.
Zu 2) Die Felder der popUpNotify können jederzeit befüllt werden. Werden jedoch auch von außen gesteuert. Auch hier wäre ein exemplarische Anforderung hilfreich.
-
@peet_b sagte in Sonoff NSPanel:
Gibt es irgendwie eine Möglichkeit die zwei Punkte automatisch zu leeren wenn sie am Panel weg gedrückt wurden bzw. kann man abfragen ob am Panel gerade der Screensaver angezeigt wird oder nicht? Damit könnte man einfach die Zeilen löschen lassen.
"
Habe ich eben für die "nächste Version" im Zweiten Zweig des Case "bexit" eingebaut. -
@niiccooo1 sagte in Sonoff NSPanel:
@jens-wozny
Kurze Frage dazu: Könnte man einen Button für Multipress verwenden und den anderen um sich Favoritenpages anzeigen zu lassen?Im Moment nicht, da es nur eine Zuordnung für den einfachen Klick gibt (buttonXPage). Die müsste auf das Ereignis der 5 Schaltzustände erweitert werden. Kann ich mir ansehen. Alternativ könnte man auch über den Einzelklick in Subpages verweisen.
-
@tklein sagte in Sonoff NSPanel:
EDIT: Eine weitere Frage noch: Kann ich bei z.B. 2 fachen Button 1 Druck eine bestimmte Seite anzeigen lassen? Quasie als Shortcut? Ich meine kein Notify/Popup
Betrifft auch den Punkt von @niiccooo1
Ist nicht ganz so trivial - aber nicht unmöglich. Da die Frage jetzt schon 3x gewünscht ist, setzte ich den mal selbst in die github-Issues. -
@ts sagte in Sonoff NSPanel:
Hallo, ich nutze nun auch ganz begeistert das NS Panel mit dem Script hier!
Eine Frage hätte ich - Ist es grundsätzlich möglich, den Screensaver zu ändern, oder ist die Optik "in Stein gemeißelt"?
Der Grund für meine Frage ist,Ich möchte gerne die Hardware Tasten für andere Dinge nutzen, also nicht für die verbauten Relays. Schön wäre, wenn im Screensaver direkt über den Tasten kleine Felder sind, wo Variablen drin stehen, die man im Script betiteln kann. Somit weiß jeder Benutzer, was die Tasten machen.
Zweiter Punkt; ich hätte gerne, dass der Screensaver wie bei Weather Forecast alle paar Sekunden mal umschaltet. So zwischen Zeit+Wetteranzeige und meinem Familienkalender. Das fände zumindest ich ganz schön!
Kann man in die Richtung was basteln oder geht das aufgrund irgendwelcher Beschränkungen nicht zu machen?So wie es @joBr99 bereits beschrieben hat, gibt es für den Screensaver auch ein Customizing (Farben und zusätzliche Icons). Das ist in die ioBroker-Skript-Version noch nicht eingeflossen. Kommt aber noch...
Bezug auch auf https://forum.iobroker.net/post/854566
-
Hallo in die Runde...
alles nach Anleitung gemacht...
Nur bleibt bei mir die "Waiting for Content" - Anzeige stehen.im Script-Adapter laufen
17:06:59.919 warn javascript.0 (671) at script.js.NSPanels.NSPANEL_1_3_1_0:1034:42
17:06:59.919 warn javascript.0 (671) at step (script.js.NSPanels.NSPANEL_1_3_1_0:33:23)
17:06:59.919 warn javascript.0 (671) at Object.next (script.js.NSPanels.NSPANEL_1_3_1_0:14:53)
17:06:59.919 warn javascript.0 (671) at fulfilled (script.js.NSPanels.NSPANEL_1_3_1_0:5:58)auf.
Schon die Einträge hier hoch und runter gelesen, aber keine Hilfe gefunden.
-
@bilz76 sagte in Sonoff NSPanel:
Hallo in die Runde...
alles nach Anleitung gemacht...
Nur bleibt bei mir die "Waiting for Content" - Anzeige stehen.im Script-Adapter laufen
17:06:59.919 warn javascript.0 (671) at script.js.NSPanels.NSPANEL_1_3_1_0:1034:42
17:06:59.919 warn javascript.0 (671) at step (script.js.NSPanels.NSPANEL_1_3_1_0:33:23)
17:06:59.919 warn javascript.0 (671) at Object.next (script.js.NSPanels.NSPANEL_1_3_1_0:14:53)
17:06:59.919 warn javascript.0 (671) at fulfilled (script.js.NSPanels.NSPANEL_1_3_1_0:5:58)auf.
Schon die Einträge hier hoch und runter gelesen, aber keine Hilfe gefunden.
Geh mal folgendermaßen vor...
- Mache mal einen Screenshot von der Tasmota-Konsole und sende den
- Kopiere mal die Zeile 3 ( - abgestimmt auf ...) aus dem Header des TS-Scripts und hier senden
- Wirf noch mal alle Dateien (wirklich alle) aus der Tasmota Konsole raus und lege den Berry-Treiber (autoexec.be) neu an --> Kannst du auch zuerst versuchen.
Der Inhalt: https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/tasmota/autoexec.be - danach Panel durchstarten
Wie @Kuckuckmann im Folgepost bereits schreibt ist entweder der Berry-Treiber nicht korrekt oder die Kommunikation des TS-Skriptes nicht korrekt oder ein Fehler in der MQTT-Konfiguration
Die Warnungen sagen uns zu diesem Zeitpunkt nichts, weisen aber auch auf eine fehlerhafte TS-Konfiguration hin - sind aber aktuell auch kein Hindernis, da kein Fehler sondern nur Warnung
-
Hi und herzlich willkommen hier im Forum
Deine Fehlermeldung deutet darauf hin, dass Dein ioBroker nicht mit dem NSPanel kommunizieren kann. D.h.:
- Hast Du die beiden Skripte konfiguriert (Schritt 9 und Schritt 10) und gestartet?
- Hast Du die MQTT Verbindung hergestellt (Schritt 4 und Schritt 6) und den CustomSend (Schritt 7) initialisiert?
- NSPanel einmal aus und neu einschalten?
LG
-
@armilar said in Sonoff NSPanel:
Zu 1) Über den CustomSend kann eine Menge gesendet und aufgerufen werden. Ist bloß die Frage, was du alles nachbauen möchtes, was im Skript längst vorhanden ist. Daher beschreibe doch kurz die "ganze was passiert dann"-Maschine. Was soll aus welchem Grund wann und wie funktionieren. Dann kann ich dir zu diesem Punkt besser helfen.
--> Z.B wenn ich auf einen eingebauten Button dopplet oder dreifach clicke soll eine vorher definierte (Sub)-Page geöffnet werden, über die z.B. sonst nur per 3 Klicks gelange.
Beispiel: Die Termostatseite für das Wohnzimme rliegt auf der dritten Ebene. Drücke ich den verbauten Button oder ein DP wird auf true gesetzt. sollte die Thermostatseite direkt angezeigt werden.
Zu 2) Die Felder der popUpNotify können jederzeit befüllt werden. Werden jedoch auch von außen gesteuert. Auch hier wäre ein exemplarische Anforderung hilfreich.
Bei mir wird kein Popupangezeigt wenn ich innerhalb des Panels navigieren. Ferner verschwindet es auch, wenn gearde die Anzeige von Forecast zu den Wetterdaten wechselt.
Beispiel: Wenn ich durch das Menü navigiere möchte ich die Möglichkeit haben, ein PopUp angezeigt zu bekommen. Am besten mit ja/nein bestätigung ala sind sie wirklich sicher. Oder nur ein Text. Z.B. aktiviere ich die Heizung per Schalter, dann Popup mit bereit eingestellter Zieltemperatur mit Frage, ob die so ok ist. Wenn nein direkt auf die Page mit dem Thermostat.
Anderes Beispiel: Ich navigiere und das Telefon klingelt oder die Bewegung an der Haustür, dann entsprechende Anzeige/Popup mit den jeweiligen Texten.
-
@armilar said in Sonoff NSPanel:
@niiccooo1 sagte in Sonoff NSPanel:
@jens-wozny
Kurze Frage dazu: Könnte man einen Button für Multipress verwenden und den anderen um sich Favoritenpages anzeigen zu lassen?Im Moment nicht, da es nur eine Zuordnung für den einfachen Klick gibt (buttonXPage). Die müsste auf das Ereignis der 5 Schaltzustände erweitert werden. Kann ich mir ansehen. Alternativ könnte man auch über den Einzelklick in Subpages verweisen.
oder man fängt mit einem script die multi press ab und steuert dann per cutom send den aufruf einer bestimmten seite
-
@kuckuckmann said in Sonoff NSPanel:
@tklein sagte in Sonoff NSPanel:
Besteht die Möglicheit, auch ein PopUp anzeigen zu lassen, auch wenn nicht der Ruhebildschirm angezeigt wird?
Ja, die popupNotify Page kannst Du immer öffnen lassen, Du musst nur via Skript die Datenpunkte befüllen.
Du kannst Dir dazu mal das erweiterte Beispiel in der Wiki FAQ & Anleitung ansehen zur Alarmpage. Da habe ich ganz viel mit den Popups gearbeitet.Deine erste Frage interessiert mich auch. Hoffen wir mal das @Armilar uns das beantworten kann.
LG
thx, dann werde ich mal schauen, wie ich das popup anzeigen lassen kann, auch wenn ich auf dem display am navigieren bin. sind das die gleichen datenpunkte wie für das popup im ruhebildschirm?
-
Hallo zusammen,
bin gerade dabei, mein Buzzer besser einzubinden. Momentan nutze ich im Script den Befehl:case 'buttonPress2': var request = require ('request'); var url = "http://xxx.xxx.xxx.xxx/cm?cmnd=Buzzer%201" request(url) screensaverEnabled = false; HandleButtonEvent(words); if (Debug) console.log(words[0] + ' - ' + words[1] + ' - ' + words[2] + ' - ' + words[3] + ' - ' + words[4]); break;
Das funktioniert zwar, aber es entsteht (logischerweise) eine Latenz.
Ich sollte doch eigentlich den Befehl auch direkt im Tasmota als Rule definieren können; schließlich gibt es ja irgendwo im Tasmota auch die Regel, dass eine MQTT abgegeben wird, wenn ich den Touch berühre:19:18:20.882 MQT: NSPanel/tele/nspanel_xxx/RESULT = {"CustomRecv":"event,buttonPress2,screensaver,bExit,1"}
Da würde ich mich gerne mit ranhängen mit meinem
Buzzer 1
Aber wo finde ich diese Regel? Weiß jemand Bescheid?
Beste Grüße!
-
Ich habe das Problem, dass das Navigieren zwischen den einzelnen Seiten teilweise nicht funktioniert. Man drückt den Vor- oder Zurückbutton, aber es funktionier einfach nicht.
Der Fehler tritt ab der dritten Seite aus, Hat man nur zwei Seiten funktioniert alles prima (inkl. subPages).
Ist das Problem nur bei mir?Gruß
Otto -
@ts sagte in Sonoff NSPanel:
Hallo zusammen,
bin gerade dabei, mein Buzzer besser einzubinden. Momentan nutze ich im Script den Befehl:case 'buttonPress2': var request = require ('request'); var url = "http://xxx.xxx.xxx.xxx/cm?cmnd=Buzzer%201" request(url) screensaverEnabled = false; HandleButtonEvent(words); if (Debug) console.log(words[0] + ' - ' + words[1] + ' - ' + words[2] + ' - ' + words[3] + ' - ' + words[4]); break;
Das funktioniert zwar, aber es entsteht (logischerweise) eine Latenz.
Ich sollte doch eigentlich den Befehl auch direkt im Tasmota als Rule definieren können; schließlich gibt es ja irgendwo im Tasmota auch die Regel, dass eine MQTT abgegeben wird, wenn ich den Touch berühre:19:18:20.882 MQT: NSPanel/tele/nspanel_xxx/RESULT = {"CustomRecv":"event,buttonPress2,screensaver,bExit,1"}
Da würde ich mich gerne mit ranhängen mit meinem
Buzzer 1
Aber wo finde ich diese Regel? Weiß jemand Bescheid?
Beste Grüße!
-
Über (Tasmota) Backlog kannst du direkt über CustomSend den Befehl ohne Request absenden. Werde ich demnächst auch noch beschreiben.
-
Was ist der Buzzer, wofür ist der und was soll der machen?
-
Du kannst auch direkt auf Power1/Power2 reagieren, wenn du die Buttons als Switch einrichtest und einen switchmode und switchtopic vergibst. Dann sollte die Regel doch Standard-Rule sein.
-
-
MQTT - Verbindung scheint zu stehen
20:19:41.508 MQT: Verbindungsversuch...
20:19:41.738 MQT: verbunden
20:19:41.757 MQT: SmartHome/NSPanel_1/tele/LWT = Online (beibehalten)
20:19:41.764 MQT: SmartHome/NSPanel_1/cmnd/POWER =
20:19:42.075 MQT: SmartHome/NSPanel_1/stat/RESULT = {"POWER1":"OFF"}
20:19:42.079 MQT: SmartHome/NSPanel_1/stat/POWER1 = OFF
20:19:42.125 MQT: SmartHome/NSPanel_1/stat/RESULT = {"POWER1":"OFF"}
20:19:42.134 MQT: SmartHome/NSPanel_1/stat/POWER1 = OFF
20:19:42.173 MQT: SmartHome/NSPanel_1/stat/RESULT = {"POWER1":"OFF"}
20:19:42.183 MQT: SmartHome/NSPanel_1/stat/POWER1 = OFF
20:19:43.779 MQT: SmartHome/NSPanel_1/stat/RESULT = {"POWER1":"OFF"}
20:19:43.788 MQT: SmartHome/NSPanel_1/stat/POWER1 = OFF
20:19:46.592 MQT: SmartHome/NSPanel_1/tele/RESULT = {"CustomRecv":"event,startup,41,eu"}
20:19:52.497 MQT: SmartHome/NSPanel_1/tele/RESULT = {"CustomRecv":"event,startup,41,eu"}Auszug aus der spielerei mit Port 1883 auf 1886 umgeschaltet
Script neu gestartet:
2022-09-11 21:21:46.551 warn at fulfilled (script.js.NSPanels.NSPanel_1:5:58)
javascript.0
2022-09-11 21:21:46.550 warn at Object.next (script.js.NSPanels.NSPanel_1:14:53)javascript.0
2022-09-11 21:21:46.550 warn at step (script.js.NSPanels.NSPanel_1:33:23)javascript.0
2022-09-11 21:21:46.550 warn at script.js.NSPanels.NSPanel_1:1034:42javascript.0
2022-09-11 21:21:46.550 warn at /opt/iobroker/node_modules/iobroker.javascript/lib/tools.js:81:16javascript.0
2022-09-11 21:21:46.550 warn at new Promise (<anonymous>)javascript.0
2022-09-11 21:21:46.550 warn at /opt/iobroker/node_modules/iobroker.javascript/lib/tools.js:82:16javascript.0
2022-09-11 21:21:46.549 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1687:20)javascript.0
2022-09-11 21:21:46.546 warn You are assigning a string to the state "0_userdata.0.NSPanel.1.Berry_Driver.currentVersion" which expects a number. Please fix your code to use a number or change the state type to string. This warning might become an error in future versions. -
@smartotto sagte in Sonoff NSPanel:
Ich habe das Problem, dass das Navigieren zwischen den einzelnen Seiten teilweise nicht funktioniert. Man drückt den Vor- oder Zurückbutton, aber es funktionier einfach nicht.
Der Fehler tritt ab der dritten Seite aus, Hat man nur zwei Seiten funktioniert alles prima (inkl. subPages).
Ist das Problem nur bei mir?Gruß
OttoIch habe das hin und wieder in der ersten Minute nach dem kompilieren. Aber danach läuft alles flüssig. Mit ca. 15 - 20 Seiten. Mein ioBroker läuft aber auch auf einer kräftigen Maschine...
-
@armilar sagte in Sonoff NSPanel:
@ts sagte in Sonoff NSPanel:
Hallo zusammen,
bin gerade dabei, mein Buzzer besser einzubinden. Momentan nutze ich im Script den Befehl:case 'buttonPress2': var request = require ('request'); var url = "http://xxx.xxx.xxx.xxx/cm?cmnd=Buzzer%201" request(url) screensaverEnabled = false; HandleButtonEvent(words); if (Debug) console.log(words[0] + ' - ' + words[1] + ' - ' + words[2] + ' - ' + words[3] + ' - ' + words[4]); break;
Das funktioniert zwar, aber es entsteht (logischerweise) eine Latenz.
Ich sollte doch eigentlich den Befehl auch direkt im Tasmota als Rule definieren können; schließlich gibt es ja irgendwo im Tasmota auch die Regel, dass eine MQTT abgegeben wird, wenn ich den Touch berühre:19:18:20.882 MQT: NSPanel/tele/nspanel_xxx/RESULT = {"CustomRecv":"event,buttonPress2,screensaver,bExit,1"}
Da würde ich mich gerne mit ranhängen mit meinem
Buzzer 1
Aber wo finde ich diese Regel? Weiß jemand Bescheid?
Beste Grüße!
-
Über (Tasmota) Backlog kannst du direkt über CustomSend den Befehl ohne Request absenden. Werde ich demnächst auch noch beschreiben.
-
Was ist der Buzzer, wofür ist der und was soll der machen?
-
Du kannst auch direkt auf Power1/Power2 reagieren, wenn du die Buttons als Switch einrichtest und einen switchmode und switchtopic vergibst. Dann sollte die Regel doch Standard-Rule sein.
Der Buzzer ist beim ESP mit verbaut und gibt ein "pieps" Ton aus. Und als akustisches Feedback finde ich das für die Familie wichtig. Dann weiß man, wenn man den Touch gedrückt hat und probiert nicht immer wieder...
Mir geht es hier nicht um die Hardware Tasten.
Es geht um alle Eingaben, welche über den Touch stattfinden.Zu 1. der CustomSend führt ja auch zu einer Latenz.
Schließlich ist ja die Abfolge:- Touch Eingabe am NS Panel.
- übermittlung der Eingabe an ioBroker.
- CustomSend bzw mein Url aufruf senden den Befehl "Buzzer 1" zurück zum ESP-Tasmota.
- Es piepst.
Daher die Latenz.
Besser wäre, den Buzzer gemeinsam mit dem MQTT Event direkt bei Touch Bedienung im ESP-Tasmota auszuführen.
-