NEWS
SONOFF NSPanel mit Lovelace UI
-
Ich hatte vor ein paar Tagen bereits eine Änderung im DEV Script vorgenommen:
if (pageItem.monobutton != undefined && pageItem.monobutton == true) { if (existsState(pageItem.id + '.ACTUAL')) { val = getState(pageItem.id + '.ACTUAL').val; RegisterEntityWatcher(pageItem.id + '.ACTUAL'); } } else { if (existsState(pageItem.id + '.ACTUAL')) { val = getState(pageItem.id + '.ACTUAL').val; RegisterEntityWatcher(pageItem.id + '.ACTUAL'); } if (existsState(pageItem.id + '.SET') && !existsState(pageItem.id + 'ACTUAL')) { val = getState(pageItem.id + '.SET').val; RegisterEntityWatcher(pageItem.id + '.SET'); } }Soll den ACTUAL forcieren, den SET aber alternativ nehmen, wenn kein ACTUAL vorhanden ist. Hintergrund hierbei ist, dass nur ein Trigger existieren sollte und der Seitenaufbau nicht doppelt stattfindet.
Jetzt kam ein neues Problem hinzu - und zwar, dass sich Aliasse im Channel (aus welchem Grund auch immer) geändert haben, wenn man neue Devices anlegt (also im Device Manager letzte Version - wahrscheinlich der Type-Detector). Es sind da einige Typen hinzugekommen, aber auch alte bekannte in der Nomenklatur verändert wurden. Da muss ich noch mal durch und nachsehen, wie sich die Alte Nomenklatur mit der neuen Nomenklatur der Aliasse verträgt.
Auf einmal gibt es auch Kombinationen wie "ON_ACTUAL" und "SET", etc. die es bislang nicht gab.
In der wunderbaren Video-Reihe von "haus-automatisierung" gibt es auch etwas zum Thema NSPanel Pro
https://www.youtube.com/watch?v=D2YuNtLKIHg
Das "NSPanel Pro" ist im Grunde nur soweit mit ioBroker nutzbar, dass du einen Browser öffnen kannst (vorausgesetzt es wurde eine alternative APK installiert) und eine VIS oder eine andere ioBroker Visualisierung laufen lassen kannst.
Die beiden Varianten NSPanel (ESP32 mit Tasmota nutzbar) und NSPanel Pro (Android) sind von der Art eben sehr unterschiedlich. Wir gehen hier nur auf das NSPanel ein oder verweisen auf den NSPanel Adapter, der parallel aus dem Skript für das NSPanel adaptiert wurde und mittlerweile auch im ioBroker Latest-Repository zu finden ist.
-
Hi,
Hatte mir vor einer Weile das Nspanel Pro geholt, das läuft ja mit Android.
Wie nutze ich das am besten mit iobroker?Hab da wohl zu schnell bestellt damals
@martinschm Ich hab auch einen pro als reine Visu mit Vis-2 und fullybrowser. Must halt eine eigene Visu anlegen, die in das Format passt.
-
@Kerschte_de Servus, wie kommt man zurück auf 15.0.1??
@Wuschl sagte in SONOFF NSPanel mit Lovelace UI:
@Kerschte_de Servus, wie kommt man zurück auf 15.0.1??
ich hatte ja leider bereits die 15.1.xx drauf und da hatte es nicht funktioniert. Also auf die vorhergehende Version downgegraded, indem ich eine ältere Tasmota-Datei aus dem entsprechenden Github-Archiv gedownloaded habe. Das habe ich dann manuell über die Tasmota-Oberfläche des NSPanel hochgeladen und die Install dort ausgeführt.
-
Hallo zusammen,
ich beschäftige mich nun auch seit ein paar Tagen mit dem NSPanel mit Lovelace UI.Ich bin nur etwas verwirrt, da einige Anleitungen im TS geschrieben werden, andere über Blockly. Wie verhalte ich mich bei Steuerung von Licht und Rollo?
Und macht es Sinn, Rollo und Licht auf einer Seite aufzuführen, oder lieber getrennt? Wie sind da eure Erfahrungen?
-
Hallo zusammen,
ich beschäftige mich nun auch seit ein paar Tagen mit dem NSPanel mit Lovelace UI.Ich bin nur etwas verwirrt, da einige Anleitungen im TS geschrieben werden, andere über Blockly. Wie verhalte ich mich bei Steuerung von Licht und Rollo?
Und macht es Sinn, Rollo und Licht auf einer Seite aufzuführen, oder lieber getrennt? Wie sind da eure Erfahrungen?
Blockly ist nur eine für den "allgemeinen, einfachen" Anwenderzweck aufgesetzte Benutzeroberfläche, darunter ist Javascript / Typescript.
Mit der Steuerung selbst hat das nichts zu tun, ist halt Sache des Programmiereres, in was er seine Funktionen schreibt.. ich bin mittlerweile auch mehr javascript / typescript gewohnt, als in Blockly. (Blockly nutze ich für schnelle Dinge mal am Tablet, wo ich keine Tastatur dran habe).
Ob es Sinn macht, wie viele Seiten und was du darauf darstellst, hängt ja von deiner Umgebung dem Sinn des Panels ab. Am Anfang hatte ich auch etliche Menus mit Lichtschaltern, Rolladen, Tueren etc, mittlerweile sind die alle samt Geschichte, da sich herausgestellt hat, dass
a) das Bedienen mit dicken Fingern einfach ne frickelei ist
b) mittlerweile meine Automatiken so intelligent sind, dass alles von alleine geregelt / geschaltet/ geöffnet / geschlossen wird.. und es nur noch in Ausnahmefällen ein manuelles Eingreifen erforderlich istWenn du fuer jeden Raum ein Panel hast, dann reicht ja meist eine Seite mit Schalter fuer Licht, Rolladen, Ambiente oder den entsprechenden Szenen halt..
Hier ist die Nutzung nur noch zur Darstellung einiger Werte und schalten des Alarmsystems da, am meisten genutzt werden die beiden Hardwarebuttons.
Ich nutze 12 Panels zur Zeit produktiv im ganzen Haus verteilt auf 4 Etagen und seit über einem Jahr, am Anfang habe ich noch das Script genutzt, seitdem der Adapter existiert, bin ich nach und nach zum Adapter umgezogen, der ist mittlerweile stable genug (nicht im stable repo, ist noch latest) um produktiv zu arbeiten.
-
Hallo zusammen,
ich beschäftige mich nun auch seit ein paar Tagen mit dem NSPanel mit Lovelace UI.Ich bin nur etwas verwirrt, da einige Anleitungen im TS geschrieben werden, andere über Blockly. Wie verhalte ich mich bei Steuerung von Licht und Rollo?
Und macht es Sinn, Rollo und Licht auf einer Seite aufzuführen, oder lieber getrennt? Wie sind da eure Erfahrungen?
Das NSPanel ist in der Lage, das "gesamte" Smart Home zu steuern und zu visualisieren. D.h. alle Zustände von Sensoren zu visualisieren und alle Zustände von Aktoren zu schalten. Das eigentliche NSPanel - Skript ist ja in TS geschrieben und es würde auch in Blockly aufgrund der Komplexität nicht mehr zu handhaben sein. Dennoch ist das NSPanel - Skript nur das Backend, das Dinge über Aliasse steuert und Zustände anzeigt oder ändert.
Ich bin nur etwas verwirrt, da einige Anleitungen im TS geschrieben werden, andere über Blockly.
Das liegt im Sinne des Betrachters und Anwenders. Es gibt sehr viele Anleitungen und Hilfestellungen von sehr vielen Usern und Szenarien und Konstellationen aus unterschiedlichen ioBroker-Adaptern. Auch hier arbeiten die User mit allen Möglichkeiten und Präferenzen im optionalen Coding, (falls überhaupt erforderlich) mit Blockly, JS oder TS. Manchmal lässt sich das vollständige Potenzial für ein Skript auch nicht wirklich mit Blockly ausschöpfen, da auch diese Mittel begrenzt sind. Daher die Vielfalt der Skript-Sprachen um "spezielle Dinge" zu steuern und umzusetzen. Das gilt aber immer nur bei ganz speziellen Anwendungsfällen, wenn sich spezielle Aktoren (z.B. manche Hersteller und Adapter von Heizungsthermostaten), nicht korrekt Verhalten oder optionale Eigenschaften visualisiert oder gesteuert werden sollen.
Im Grunde kommt das NSPanel-Skript aber mit Alias-Channels aus, die diese Eigenschaften eines Devices zusammenbinden oder auch ein Device aus Zuständen unterschiedlicher Adapter zusammenstellen.
In der Regel ist da kein optionales Coding mit Blockly, JS oder TS erforderlich.
Wie verhalte ich mich bei Steuerung von Licht und Rollo?
Es kommt darauf an, was für ein Device gesteuert werden soll. Wenn du eine Lampe hast, die z.B. über den Zigbee-Adapter eingebunden ist und die Funktion An/Aus hat, dann erstellst du dir einen Alias-Channel "Licht" und bindest ihn in eine Seitenvariable ein. Schon lässt sich das Licht über das NSPanel schalten. Bei Rollos ist es ja im Prinzip nichts anderes, da die Grund-Funktionen innerhalb dieses Devices ja UP, DOWN, STOP, POSITION sind. Auch hier gibt es Unterschiede der einzelnen Adapter und Hersteller in der Definition an welcher Position jetzt z.B. 0% (etwa wie 0% geöffnet? oder 0%geschlossen?) definiert ist. Ist nicht wirklich standardisiert und somit auch Unterschiedlich. Aber die Mechanismen des Alias-Channel oder Parameter im NSPanel-Skript (innerhalb der Seitenvariable) lassen auch hier Optionen zu.
Und macht es Sinn, Rollo und Licht auf einer Seite aufzuführen, oder lieber getrennt?
Das kommt ganz darauf an, wie du es für dich selbst gestalten möchtest.
Der eine User mag lieber eine Zimmer-orientierte Darstellung... Dann würde es Sinn machen, Lichter, Rollos, Mediaplayer, Charts, Thermostate, etc. eines Raumes zusammenzufassen. Der andere User lieber eine Darstellung in der sich einzelne Device Typen wie Licht oder Rollos auf separaten Seiten darstellen lassen. Also jeder wie er's mag.
Ich persönlich habe auf "jedem" NSPanel eine hierarchische Menüführung (mit über 200 Seiten) über das komplette Haus. Und als nachfolgende Seiten dann das Zimmer zur Steuerung in dem das NSPanel ist. Ist aber mein persönlicher Ansatz.
-
Hallo zusammen, ich habe mein IO Broker System ein update verpasst, dazu gehören auch ein Paar Adapter. Ich weiss aber nicht mehr genau welche Adapter dazu gehörten. Jetzt nach diesen Updates findet das NS panel nichts mehr. Wie kann ich schauen ob der Mqtt Adapter eine allgemeine Verbindung zum NS Panel hat? Oder ob es nur am Skript liegt?
TypeScript compilation failed:
await setStateAsync(NSPanel_Path + 'PageNavi', <iobJS.State>{ val: { "pagetype": "page", "pageId": 0 }, ack: true });
^
ERROR: Conversion of type '{ val: { pagetype: string; pageId: number; }; ack: true; }' to type 'State' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.
Type '{ val: { pagetype: string; pageId: number; }; ack: true; }' is missing the following properties from type 'State': ts, lc, fromlet name = page.heading !== undefined ? page.heading : o.common.name.de;
^
ERROR: Property 'de' does not exist on type 'StringOrTranslated'.
Property 'de' does not exist on type 'string'.let heading = page.heading !== undefined ? page.heading : o.common.name.de;
^
ERROR: Property 'de' does not exist on type 'StringOrTranslated'.
Property 'de' does not exist on type 'string'.heading = page.heading !== undefined ? page.heading : o.common.name.de;
^
ERROR: Property 'de' does not exist on type 'StringOrTranslated'.
Property 'de' does not exist on type 'string'.unsubscribe(value);
^
ERROR: Argument of type 'unknown' is not assignable to parameter of type 'string | RegExp | string[]'. -
Blockly ist nur eine für den "allgemeinen, einfachen" Anwenderzweck aufgesetzte Benutzeroberfläche, darunter ist Javascript / Typescript.
Mit der Steuerung selbst hat das nichts zu tun, ist halt Sache des Programmiereres, in was er seine Funktionen schreibt.. ich bin mittlerweile auch mehr javascript / typescript gewohnt, als in Blockly. (Blockly nutze ich für schnelle Dinge mal am Tablet, wo ich keine Tastatur dran habe).
Ob es Sinn macht, wie viele Seiten und was du darauf darstellst, hängt ja von deiner Umgebung dem Sinn des Panels ab. Am Anfang hatte ich auch etliche Menus mit Lichtschaltern, Rolladen, Tueren etc, mittlerweile sind die alle samt Geschichte, da sich herausgestellt hat, dass
a) das Bedienen mit dicken Fingern einfach ne frickelei ist
b) mittlerweile meine Automatiken so intelligent sind, dass alles von alleine geregelt / geschaltet/ geöffnet / geschlossen wird.. und es nur noch in Ausnahmefällen ein manuelles Eingreifen erforderlich istWenn du fuer jeden Raum ein Panel hast, dann reicht ja meist eine Seite mit Schalter fuer Licht, Rolladen, Ambiente oder den entsprechenden Szenen halt..
Hier ist die Nutzung nur noch zur Darstellung einiger Werte und schalten des Alarmsystems da, am meisten genutzt werden die beiden Hardwarebuttons.
Ich nutze 12 Panels zur Zeit produktiv im ganzen Haus verteilt auf 4 Etagen und seit über einem Jahr, am Anfang habe ich noch das Script genutzt, seitdem der Adapter existiert, bin ich nach und nach zum Adapter umgezogen, der ist mittlerweile stable genug (nicht im stable repo, ist noch latest) um produktiv zu arbeiten.
@ilovegym sagte in SONOFF NSPanel mit Lovelace UI:
Ich nutze 12 Panels zur Zeit produktiv im ganzen Haus verteilt auf 4 Etagen und seit über einem Jahr, am Anfang habe ich noch das Script genutzt, seitdem der Adapter existiert, bin ich nach und nach zum Adapter umgezogen, der ist mittlerweile stable genug (nicht im stable repo, ist noch latest) um produktiv zu arbeiten.
Meinst du den Lovelace Adapter?
Habe ich auch gesehen, war mir nicht sicher was nun einfacher ist. Kann ich nachträglich noch vom Skript zum Adapter umziehen, oder ist das Riesen Aufwand? -
Hallo zusammen, ich habe mein IO Broker System ein update verpasst, dazu gehören auch ein Paar Adapter. Ich weiss aber nicht mehr genau welche Adapter dazu gehörten. Jetzt nach diesen Updates findet das NS panel nichts mehr. Wie kann ich schauen ob der Mqtt Adapter eine allgemeine Verbindung zum NS Panel hat? Oder ob es nur am Skript liegt?
TypeScript compilation failed:
await setStateAsync(NSPanel_Path + 'PageNavi', <iobJS.State>{ val: { "pagetype": "page", "pageId": 0 }, ack: true });
^
ERROR: Conversion of type '{ val: { pagetype: string; pageId: number; }; ack: true; }' to type 'State' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.
Type '{ val: { pagetype: string; pageId: number; }; ack: true; }' is missing the following properties from type 'State': ts, lc, fromlet name = page.heading !== undefined ? page.heading : o.common.name.de;
^
ERROR: Property 'de' does not exist on type 'StringOrTranslated'.
Property 'de' does not exist on type 'string'.let heading = page.heading !== undefined ? page.heading : o.common.name.de;
^
ERROR: Property 'de' does not exist on type 'StringOrTranslated'.
Property 'de' does not exist on type 'string'.heading = page.heading !== undefined ? page.heading : o.common.name.de;
^
ERROR: Property 'de' does not exist on type 'StringOrTranslated'.
Property 'de' does not exist on type 'string'.unsubscribe(value);
^
ERROR: Argument of type 'unknown' is not assignable to parameter of type 'string | RegExp | string[]'.Hallo zusammen, ich habe mein IO Broker System ein update verpasst, dazu gehören auch ein Paar Adapter. Ich weiss aber nicht mehr genau welche Adapter dazu gehörten.
Aktuell zu helfen, mit diesen Infos ist nicht so leicht ;-) . Sieht im ersten Moment so nach einem "Never Touch a Running System" bis es komplett kaputt ist aus...
Jetzt nach diesen Updates findet das NS panel nichts mehr. Wie kann ich schauen ob der Mqtt Adapter eine allgemeine Verbindung zum NS Panel hat? Oder ob es nur am Skript liegt?
Also erstmal könntest du mal im Tasmota und im MQTT.0 nachstehen, ob da ein Austausch stattfindet. Gehe aber mal davon aus, dass das nicht der Fall sein wird, da der Javascript-Adapter das Skript nicht mehr compilieren möchte. siehe:
TypeScript compilation failed:
Also es gab Änderungen in TypeScript innerhalb vergangener Versionen und auch im JS-Adapter die vieles restriktiver gemacht haben. Also daher auch die Vermutung, dass Adapter-Updates mal so hin und wieder im ioBroker angeworfen werden und im System mal so jedes Jahr bis nie?
Sollte sich bis dahin alles weitere stabil verhalten, könntest du ein Update des NSPanelTS.ts auf die aktuellste Version versuchen... Da sind einige Fixes für Probleme mit dem aktuellen JS-Adapter drin...
Für alles andere benötigen wir mehr Infos über System (z.B. iob diag) und Script-Version des NSPanelTS.ts
-
@ilovegym sagte in SONOFF NSPanel mit Lovelace UI:
Ich nutze 12 Panels zur Zeit produktiv im ganzen Haus verteilt auf 4 Etagen und seit über einem Jahr, am Anfang habe ich noch das Script genutzt, seitdem der Adapter existiert, bin ich nach und nach zum Adapter umgezogen, der ist mittlerweile stable genug (nicht im stable repo, ist noch latest) um produktiv zu arbeiten.
Meinst du den Lovelace Adapter?
Habe ich auch gesehen, war mir nicht sicher was nun einfacher ist. Kann ich nachträglich noch vom Skript zum Adapter umziehen, oder ist das Riesen Aufwand?Ein nachträglicher Wechsel ist ebenso möglich...
Der Adapter ist funktional Umfangreicher und verfügt über mächtigere Features, die Dokumentation hinkt allerdings noch etwas hinterher... Ich würde als Einsteiger dennoch den Adapter nehmen und auf diesen aufbauen, da nach vollständiger Migration von TS-Skript auf den Adapter ohnehin keine Wartung und Weiterentwicklung des Skriptes mehr passieren wird. Fragen (falls man nicht weiter weiß?) kann man auch im NSPanel-Adapter-Thread stellen... Ansonsten werden wir diesen Thread natürlich auch weiterhin supporten...
Also mit anderen Worten: Der Adapter kann das, was das Skript kann - und noch einige Dinge mehr oder/und umfangreicher. Viele Einstellungen und Dinge, die heute noch über separate optionale Skripte realisiert werden, sind bereits oder werden noch über die GUI - konfigurierbar gemacht