NEWS
SONOFF NSPanel mit Lovelace UI
-
@tt-tom said in SONOFF NSPanel mit Lovelace UI:
@armilar sagte in SONOFF NSPanel mit Lovelace UI:
Ich würde die Skripte trennen. Generische Fenster-offen-Skripte gibt es bestimmt wie Sand am Meer in diesem Forum.
hier mal ein Beispiel wie es aussehen könnte. Ich habe mit dem Device-Adapter für jeden Kontakt ein Alias angelegt und in der Struktur auch gleich gebündelt. sieht dann ungefähr so aus.
dann unter 0_userdata.0. mir einen DP angelegt wo die Anzahl der Fenster gesetzt wird
und das Blockly sieht dann so aus.@tt-tom Da hab ich Erklärungsbedarf
Also den Datenpunkt habe ich angelegt.
Die Fenster habe ich auch so aufgebaut wie Du....Hab den jetzt so:
Stimmt das mit dem Alias?
EDIT: Ahhhhhhhhh nee verstehe.....der Alias wird zusammengefasst mit *.ACTUALDu hast das doch bestimmt vorne im Display....wie bist Du da vorgegangen?
-
Wird Alexa als Einbindung gerade von HowTo überarbeitet?
Möchte gerne die speziellen Seiten, insbesondere die Player, im Wiki etwas detaillierter beschreiben. Ist also in der Überarbeitung. Ebenso die Funktionalität der (Alexa und Spotiy-Premium)-Player für das NSPanel etwas aufbohren. Für beide muss aber in den jeweiligen Adaptern erst noch etwas passieren.
Die vorhandene Beschreibung für den Alexa-Player ist aber noch aktuell.
-
Du hast das doch bestimmt vorne im Display....wie bist Du da vorgegangen?
Wenn du bereits einen Datenpunkt hast, der anzeigt, ob ein Fenster offen oder alle enster geschlossen sind, dann für das NSPanel einen Alias erstellen:
-
Gestern war bei meiner ioBroker-Installation mehrfach die Performance zusammengebrochen.
Nach einiger (ca. 1 Std.) waren die NSPanels nicht mehr ansprechbar, der MQTT-Adapter antwortete nicht mehr und ich musste wieder neu starten. (damit meine ich die komplett ioBroker-Systeme)Dann hatte ich gegen Mitternacht den Versuch gestartet, Mein System aus 4 Raspberrys (Master/Slave) einmal ohne die "NSPanelTS-Skripte" laufen zuu lassen.
Siehe da: Am Morgen lief das System immer noch performant. (allerdings natürlich ohne Updates auf den Panels)Jetzt habe ich eines meiner beiden Skripte wieder gestartet und sehe unglaublich viele Warnings im Log
javascript.0 2024-01-27 10:34:40.053 warn Read-only state "0_userdata.0.DVES_NSPanel_Arbeitszimmer.1.ActivePage.heading" has been written without ack-flag with value "Screensaver" javascript.0 2024-01-27 10:34:40.010 warn Read-only state "0_userdata.0.DVES_NSPanel_Arbeitszimmer.1.ActivePage.id0" has been written without ack-flag with value "screensaver" javascript.0 2024-01-27 10:34:40.009 warn Read-only state "0_userdata.0.DVES_NSPanel_Arbeitszimmer.1.ActivePage.type" has been written without ack-flag with value "screensaver" javascript.0 2024-01-27 10:34:30.805 warn Read-only state "0_userdata.0.DVES_NSPanel_Arbeitszimmer.1.ActivePage.id0" has been written without ack-flag with value "NSPanel_Infos" javascript.0 2024-01-27 10:34:30.804 warn Read-only state "0_userdata.0.DVES_NSPanel_Arbeitszimmer.1.ActivePage.heading" has been written without ack-flag with value "Service Menü" javascript.0 2024-01-27 10:34:30.800 warn Read-only state "0_userdata.0.DVES_NSPanel_Arbeitszimmer.1.ActivePage.type" has been written without ack-flag with value "cardEntities" javascript.0 2024-01-27 09:57:48.771 warn Read-only state "0_userdata.0.DVES_NSPanel_Arbeitszimmer.1.ActivePage.heading" has been written without ack-flag with value "Screensaver" javascript.0 2024-01-27 09:57:48.770 warn Read-only state "0_userdata.0.DVES_NSPanel_Arbeitszimmer.1.ActivePage.id0" has been written without ack-flag with value "screensaver" javascript.0 2024-01-27 09:57:48.769 warn Read-only state "0_userdata.0.DVES_NSPanel_Arbeitszimmer.1.ActivePage.type" has been written without ack-flag with value "screensaver" javascript.0 2024-01-27 09:57:38.494 warn Read-only state "0_userdata.0.DVES_NSPanel_Arbeitszimmer.1.Display_Firmware.TFT.desiredVersion" has been written without ack-flag with value "53 / v4.3.3" javascript.0 2024-01-27 09:57:38.470 warn Read-only state "0_userdata.0.DVES_NSPanel_Arbeitszimmer.1.Display_Firmware.TFT.currentVersion" has been written without ack-flag with value "53 / v4.3.3" javascript.0 2024-01-27 09:57:38.422 warn Read-only state "0_userdata.0.DVES_NSPanel_Arbeitszimmer.1.Config.Update.activ" has been written without ack-flag with value "0" javascript.0 2024-01-27 09:57:38.315 warn Read-only state "0_userdata.0.DVES_NSPanel_Arbeitszimmer.1.Display_Firmware.desiredVersion" has been written without ack-flag with value "53" javascript.0 2024-01-27 09:57:38.313 warn Read-only state "0_userdata.0.DVES_NSPanel_Arbeitszimmer.1.ActivePage.id0" has been written without ack-flag with value "NSPanel_Infos" javascript.0 2024-01-27 09:57:38.312 warn Read-only state "0_userdata.0.DVES_NSPanel_Arbeitszimmer.1.ActivePage.heading" has been written without ack-flag with value "Service Menü" javascript.0 2024-01-27 09:57:38.311 warn Read-only state "0_userdata.0.DVES_NSPanel_Arbeitszimmer.1.ActivePage.type" has been written without ack-flag with value "cardEntities" javascript.0 2024-01-27 09:57:38.200 warn Read-only state "0_userdata.0.DVES_NSPanel_Arbeitszimmer.1.Display_Firmware.TFT.desiredVersion" has been written without ack-flag with value "53 / v4.3.3" javascript.0 2024-01-27 09:57:38.111 warn Read-only state "0_userdata.0.DVES_NSPanel_Arbeitszimmer.1.Display_Firmware.TFT.currentVersion" has been written without ack-flag with value "53 / v4.3.3" javascript.0 2024-01-27 09:57:38.018 warn Read-only state "0_userdata.0.DVES_NSPanel_Arbeitszimmer.1.Config.Update.activ" has been written without ack-flag with value "0" javascript.0 2024-01-27 09:57:37.937 warn Read-only state "0_userdata.0.DVES_NSPanel_Arbeitszimmer.1.Display_Firmware.desiredVersion" has been written without ack-flag with value "53" javascript.0 2024-01-27 09:57:37.935 warn Read-only state "0_userdata.0.DVES_NSPanel_Arbeitszimmer.1.ActivePage.id0" has been written without ack-flag with value "NSPanel_Infos" javascript.0 2024-01-27 09:57:37.934 warn Read-only state "0_userdata.0.DVES_NSPanel_Arbeitszimmer.1.ActivePage.heading" has been written without ack-flag with value "Service Menü" javascript.0 2024-01-27 09:57:37.926 warn Read-only state "0_userdata.0.DVES_NSPanel_Arbeitszimmer.1.ActivePage.type" has been written without ack-flag with value "cardEntities" javascript.0 2024-01-27 09:57:37.638 warn Read-only state "0_userdata.0.DVES_NSPanel_Arbeitszimmer.1.IoBroker.ScriptVersion" has been written without ack-flag with value "v4.3.3.38" javascript.0 2024-01-27 09:57:37.146 warn Read-only state "0_userdata.0.DVES_NSPanel_Arbeitszimmer.1.Display_Firmware.TFT.desiredVersion" has been written without ack-flag with value "53 / v4.3.3" javascript.0 2024-01-27 09:57:37.107 warn Read-only state "0_userdata.0.DVES_NSPanel_Arbeitszimmer.1.Display_Firmware.TFT.currentVersion" has been written without ack-flag with value "53 / v4.3.3" javascript.0 2024-01-27 09:57:37.056 warn Read-only state "0_userdata.0.DVES_NSPanel_Arbeitszimmer.1.Config.Update.activ" has been written without ack-flag with value "0" javascript.0 2024-01-27 09:57:36.903 warn Read-only state "0_userdata.0.DVES_NSPanel_Arbeitszimmer.1.Display_Firmware.desiredVersion" has been written without ack-flag with value "53" javascript.0 2024-01-27 09:57:36.901 warn Read-only state "0_userdata.0.DVES_NSPanel_Arbeitszimmer.1.IoBroker.NodeJSVersion" has been written without ack-flag with value "v18.17.1" javascript.0 2024-01-27 09:57:36.898 warn Read-only state "0_userdata.0.DVES_NSPanel_Arbeitszimmer.1.IoBroker.ScriptName" has been written without ack-flag with value "common.NSPanelTsArbeitszimmer_ts" javascript.0 2024-01-27 09:57:36.895 warn Read-only state "0_userdata.0.DVES_NSPanel_Arbeitszimmer.1.IoBroker.JavaScriptVersion" has been written without ack-flag with value "v7.1.6"
Das mal als Beispiel.
Ich habe die Skripte vom Stand 26.1.2024 installiert. Eiunzige Anpassung sind die Datenpunkte in Abschnitt 1+2.
Was läuft hier schief? Warum kommen diese Warnings?
-
hast du an Screib-Berechtigungen im 0_userdata rumgespielt?
Das NSPanelTs.ts kann keine Aktualisierungen in die Datenpunkte schreiben...
Ansonsten mal die vom NSPanel erzeugten Ordner, in diesem Fall:
0_userdata.0.DVES_NSPanel_Arbeitszimmer.1
komplett löschen und mit dem Script wieder neu anlegen lassen...
-
@armilar sagte in SONOFF NSPanel mit Lovelace UI:
komplett löschen und mit dem Script wieder neu anlegen lassen...
Ne, habe da nichts herum gespielt.
Und das Neuschreiben hatte ich gestern bereits gemacht, als ich komplett neu installiert hatte (wegen des Data-Fehlers auf dem NSPanel)
Neu installiert heiß auch, dass ich den lompletten Objektbaum gelöscht hatte. Sowohl Userdata als auch alias. -
ich habe testhalber einmal einen Datenpunkt au 666 gesetzt:
danach das Skript neu gestartet.
trotzdem noch:Read-only state "0_userdata.0.DVES_NSPanel_Arbeitszimmer.1.ActivePage.heading" has been written without ack-flag with value "Screensaver"
Schaue ich mir die Objektdaten an, steht da Folgendes:
"write": false,
Warum?
Ich habe das sicher nicht rein geschrieben.
Ich probiere jetzt mal, da ein true rein zu setzen -
siehe da, DIESER Datenpunkt wird nicht mehr angemeckert.
Das hilft also.Ob das so richtig ist, weiß ich nicht.
Und wieso das da rein gekommen ist, weiß ich auch nichtIm Skript werden die Datenpunkte mit "write: false" angelegt
Könnte das das Problem sein?
-
Mal eine Frage (an den Entwickler)
habe ich hier vielleicht einen Fehler eingebaut?ich habe im Alarm-Path den gleichen Pfad angegeben.
Für mein anderes Panel habe ich da einen anderen Pfad eingegeben.Wahrscheinlich habe ich den Parameter nicht so gesetzt, wie gedacht (ich vermute, das ist der Pfad, den alle Panels gemeinsam nutzen sollen)
Aber im schlimmsten Fall würden dann die Panels eben unterschiedliche Alarme nutzen, oder? -
noch etwas Komisches:
soll das so aussehen?
-
nein - da hat sich in der Tat etwas überschnitten. In der kommenden Lösung wäre es richtig... In diesem Script ist es falsch...
Update kommt irgendwann übers Wochenende
-
@armilar
Danke
ich habe schon an mir gezweifelt.Ich habe die wichtigsten Datenpunkte mal angepasst. Damit ist der Log-Spam erst einmal unterbunden.
Danke für die Antwort
-
Ich habe schon wieder eine komische Sache gefunden:
Wenn ich die Taster auf dem NSPanel drücke, schalten zwar die Relais, aber ich bekomme keine Änderung im Datenpunkt im ioBroker (MQTT)
Setze ich den Datenpunkt im MQTT, schaltet das Relais.In der Konsole auf Tasmota-Ebene sehe ich beim Drücken der Tasten die entsprechenden Log-Ausgaben
MQTTKonfiguration (inkl Passwort) auf Tasmota sieht korrekt aus
-
Das sieht richtig aus. Tasmota ist nicht das nspanel.
Die Nachricht an POWER2 kommt vom Betriebssystem -> Tasmota, die Nachricht an RESULT von der Anwendung -> NSPanel. -
@armilar Der DP will natürlich nicht....liegt das am alias? Hab da noch unterverzeichnisse.
Habe denalias.0.NSPanel.Fenster
im Script
Edit: Script war falsch....da war einmal i anstatt offene Fenster angegeben
Benötige dann jetzt aber für den Screensaver eher etwas in der Richtung, wenn Fenster=0 dann Icon grün und wenn >1, dann rot
-
einen 0_userdata.0.....Status_offeneFenster anlegen
type boolean
und diesen mit einem Alias type Window verbinden. Den Alias legst du dann in dein Screensaver. -
@tt-tom
Danke...irgendwie haut er mir da nen Fehler rausindicatorScreensaverEntity: [ // Examples for Advanced-Screensaver: https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-Config-Screensaver#entity-status-icons-ab-v400 // indicatorScreensaverEntity 1 (only Advanced Screensaver) { ScreensaverEntity: 'alias.0.NSPanel.allgemein.Fenster_offen', ScreensaverEntityFactor: 1, ScreensaverEntityDecimalPlaces: 0, ScreensaverEntityIconOn: 'window-closed-variant', ScreensaverEntityIconOff: 'window-open-variant', ScreensaverEntityText: 'Fenster', ScreensaverEntityUnitText: '%', ScreensaverEntityIconColor: { 'val_min': 0, 'val_max': 1 } }, ],
22:52:03.511 warn javascript.0 (1878) at HandleScreensaverUpdate (script.js.common.NSPanelTs_ts:10687:31) 22:52:03.511 warn javascript.0 (1878) at Object.<anonymous> (script.js.common.NSPanelTs_ts:3314:17) 22:52:03.512 warn javascript.0 (1878) at step (script.js.common.NSPanelTs_ts:33:23) 22:52:03.512 warn javascript.0 (1878) at Object.next (script.js.common.NSPanelTs_ts:14:53) 22:52:03.512 warn javascript.0 (1878) at script.js.common.NSPanelTs_ts:8:71 22:52:03.512 warn javascript.0 (1878) at __awaiter (script.js.common.NSPanelTs_ts:4:12) 22:52:03.512 warn javascript.0 (1878) at Object.<anonymous> (script.js.common.NSPanelTs_ts:3310:12)
Fenster Symbol ist beim öffnen und schliessen weiss
EDIT: Man kann nicht einfach den Folder nehmen, sondern muss den ACUTAL Alias im Screensaver haben....jetzt geht es
Trotzdem Frage:
Ich habe jetzt noch 2 Icons mit Presence gemacht. True ist grundsätzlich immer rot....hätte gern, dass true gruen ist.
Mit ScreensaverEntityIconColor MSGreen funktioniert es leider nicht.
@TT-Tom -
Dann drehe das doch im alias
wenn du da auf den Stift klickst kommt etwas das teilweise so aussieht:
{ _id: "die.id.des.states", type: 'state', common: { ... alias: { dp: 'irgendwas' read: '!val' //<----- das da einfügen } } }
Das was ich markier habe ohne die // einfügen. Die ' die ich benutzt habe sind da falsch müssen " sein.
Das gilt aber nur wenn das ein true / false wert ist. Wenns 0 und 1 ist dann muß das so hinter read aussehen:
"val==0?1:0"
-
@ticaki said in SONOFF NSPanel mit Lovelace UI:
read: '!val'
{ "_id": "alias.0.NSPanel.allgemein.Anwesenheit_Hi.ACTUAL", "common": { "name": "ACTUAL", "role": "sensor.window", "type": "boolean", "read": true, "write": false, "alias": { "id": "fb-checkpresence.0.HsiPhone.presence", read: '!val' } }, "native": {}, "type": "state", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1706393353099 }
Du meinst hier so? Da kann ich nix speichern -.-
-
ne
"read"
da müssen um die ersten Werte "" die vergesse ich laufend zu erwähnen sry