NEWS
Betatest Adapter NSPanel-lovelace-ui v0.13.x
-
Dazu gilt dann noch wiederholtes Drücken startet den Timer neu
Außerdem gibts noch states, die für detached Buttons erstellt werden, um die Buttonfunktion auch durch ein externes Skript / VIS / whatever schalten zu lassen.
-
Das hier ist zwar genau genommen Breaking da die Funktion aber erste letztes Patch reingekommen ist, mach ich da keinen Major change draus.
0.13.4 (2026-03-07)
- (ticaki) added: buttonOnDelayOff / buttonOffDelayOn / buttonDelayOn / buttonDelayOff modes for HW button actions
- (ticaki) removed: buttonBackFlip
Neue HW-Button-Modi für Datenpunkte
Es gibt vier neue Modi, um einen HW-Button-Datenpunkt zeitgesteuert zu schalten:
buttonOnDelayOff– Setzt den Datenpunkt sofort auftrueund wechselt nach der eingestellten Verzögerung automatisch zurück auffalse.buttonOffDelayOn– Setzt den Datenpunkt sofort auffalseund wechselt nach der Verzögerung automatisch zurück auftrue.buttonDelayOn– Setzt den Datenpunkt erst nach Ablauf der Verzögerung auftrue.buttonDelayOff– Setzt den Datenpunkt erst nach Ablauf der Verzögerung auffalse.
Die Verzögerung (
delay) wird in Sekunden angegeben. Der Standardwert beträgt0,25 s. Gültige Werte liegen zwischen0,001 sund2.147.483 s(ca. 24 Tage).Über den Parameter
statewird der Datenpunkt angegeben, der geschaltet werden soll.Beispiel:
buttonLeft: { mode: 'buttonOnDelayOff', delay: 3, state: '0_userdata.0.example_state', },@ticaki Hi Tim, funktioniert wunderbar. Also wenn ich "delay" weglassen, dann nimmt es automatisch die 0,25?
-

Wollte die Zeit bei delay auf 0,3sek setzen.
Bringt mir allerdings einen Fehler:ERROR: Expression expected. delay: 0, 3: , ^ ERROR: Object literal may only specify known properties, and '3' does not exist in type '{ mode: "buttonOnDelayOff" | "buttonOffDelayOn" | "buttonDelayOn" | "buttonDelayOff"; delay?: number; state: string; }'. -

Wollte die Zeit bei delay auf 0,3sek setzen.
Bringt mir allerdings einen Fehler:ERROR: Expression expected. delay: 0, 3: , ^ ERROR: Object literal may only specify known properties, and '3' does not exist in type '{ mode: "buttonOnDelayOff" | "buttonOffDelayOn" | "buttonDelayOn" | "buttonDelayOff"; delay?: number; state: string; }'.Englisch, da kommt ein Punkt hin.
-
Englisch, da kommt ein Punkt hin.
@TT-Tom Das war zu einfach. :D Danke
-
Hallo zusammen,
habe gerade ein riesen Problem. Bei uns war zum wiederholten Male Stromausfall.Und seitdem zweiten Abschalten vom Strom sind meine Panels alle tot.
Hatte jemand mal ähnliches Problem?
Display zeigt nichts mehr an.
Lt. Tasmota alle im Safeboot. -
Ich habe den Adapter paar Wochen auf einem NSPanel am Laufen.
Nun wollte ich gerne das zweite NSPanel ebenfalls vom reinen Script zum Adapter wechseln. Der Anfang hat soweit geklappt. Das zweite NSPanel startet und der Standardbildschirm kommt mit dem Wetter und es gibt die andere Seite "Leere". Ebenfalls wurde ein neues Script angelegt für das zweite NSPanel. Nun möchte erstmal das das zweite Panel den gleichen Inhalt zeigt wie das erste Panel. Ich habe den ersten Abschnitt des ersten Scripts (vom NSPanel, das mit dem Adapter läuft) kopiert und in das neue Script des zweiten Panels eingesetzt. Wenn ich das Script starte läuft es ohne nennenswerte Fehler durch, aber beim Panel ändert sich nichts. Habe ich irgendwas dabei vergessen? -
Ich habe den Adapter paar Wochen auf einem NSPanel am Laufen.
Nun wollte ich gerne das zweite NSPanel ebenfalls vom reinen Script zum Adapter wechseln. Der Anfang hat soweit geklappt. Das zweite NSPanel startet und der Standardbildschirm kommt mit dem Wetter und es gibt die andere Seite "Leere". Ebenfalls wurde ein neues Script angelegt für das zweite NSPanel. Nun möchte erstmal das das zweite Panel den gleichen Inhalt zeigt wie das erste Panel. Ich habe den ersten Abschnitt des ersten Scripts (vom NSPanel, das mit dem Adapter läuft) kopiert und in das neue Script des zweiten Panels eingesetzt. Wenn ich das Script starte läuft es ohne nennenswerte Fehler durch, aber beim Panel ändert sich nichts. Habe ich irgendwas dabei vergessen? -
Hallo zusammen,
habe gerade ein riesen Problem. Bei uns war zum wiederholten Male Stromausfall.Und seitdem zweiten Abschalten vom Strom sind meine Panels alle tot.
Hatte jemand mal ähnliches Problem?
Display zeigt nichts mehr an.
Lt. Tasmota alle im Safeboot.@13patrick37
Ich würde Tasmota wieder rauf spielen. Hoffentlich hat sich nicht alles zerschossen -
@lobomau
Das Script gestartet? Hast du alles kopiert oder nur die Seiten. Nicht das jetzt das falsche Topic und Panel drin steht.Bitte das log vom Script nach dem Start zeigen.
@TT-Tom sagte in Betatest Adapter NSPanel-lovelace-ui v0.13.x:
falsche Topic und Panel drin steh
irgendsowas vermute ich auch. Ich habe den Anhaltspunkt nicht im Script gefunden. Zumal ich nur oben den Kopf geändert habe... oder habe ich diese topic übersehen.
Aber ok, ich schicke danach das log. -
Moin,
ich bin von einem Raspberry auf eine Synology umgezogen. Ich habe das Panel aus den NSPanel-Einstellungen herausgelöscht und auf dem Panel reset 4 in die Konsole eingegeben.
Beim erneuten hinzufügen des Panels wird mir nun diese Fehlermeldung angezeigt. Ich habe in der Dokumentation keinen Hinweis auf die Ursache hierfür gefunden. Kann mir jemand helfen?
Nach einem verzweifelten Versuch auch die Objekte zu löschen, variiert die Meldung zu sendToRequetFail2.
Vielen Dank
Christopher -
Die Fehlermeldung aus dem Log hilft mir den Fehler einzugrenzen.
-
@TT-Tom sagte in Betatest Adapter NSPanel-lovelace-ui v0.13.x:
falsche Topic und Panel drin steh
irgendsowas vermute ich auch. Ich habe den Anhaltspunkt nicht im Script gefunden. Zumal ich nur oben den Kopf geändert habe... oder habe ich diese topic übersehen.
Aber ok, ich schicke danach das log.du kannst eigentlich das komplette Script kopieren, du musst nur hier ganz am Anfang die Daten anpassen, ganz wichtig
panelTopicrichtig setzen. MitoverrideConfigwerden die Einstellungen weiter unten überschrieben.const overrideConfig: Partial<ScriptConfig.Config> = { // hier kann man die Werte von unten überschreiben bzw nicht ewig im Skript suchen wo nochmal die Farbe steht :) // pages und subpages geht hier nicht, weil die Seiten ja erst später angelegt werden. Bei const gehts nach Reihenfolge. panelTopic: 'nspanel/ns_panel4', weatherEntity: 'pirate-weather.0.', defaultOffColor: Off, defaultOnColor: On, // weatherAddDefaultItems: // - true => alle Standard-Wetterelemente hinzufügen // - false => keine hinzufügen // - { ... } => selektiv per Schlüssel aktivieren: // sunriseSet, forecastDay1, forecastDay2, forecastDay3, forecastDay4, forecastDay5, forecastDay6, // windSpeed, windGust, windDirection, uvIndex, solar // Hinweis: Die einzelnen Schlüssel funktionieren nur, wenn der gewählte Wetteranbieter // die entsprechenden Daten liefert und diese im Adapter vorbereitet wurden "weatherAddDefaultItems": false } -
Moin,
ich bin von einem Raspberry auf eine Synology umgezogen. Ich habe das Panel aus den NSPanel-Einstellungen herausgelöscht und auf dem Panel reset 4 in die Konsole eingegeben.
Beim erneuten hinzufügen des Panels wird mir nun diese Fehlermeldung angezeigt. Ich habe in der Dokumentation keinen Hinweis auf die Ursache hierfür gefunden. Kann mir jemand helfen?
Nach einem verzweifelten Versuch auch die Objekte zu löschen, variiert die Meldung zu sendToRequetFail2.
Vielen Dank
Christopher -
0.14.0 (2026-03-14)
- (tt-tom17) refactored: timezone selection code moved from adapter to admin handler (internal, no UI changes)
- (ticaki) added: TempOffset configurable in objects and admin tab (#629)
- (ticaki) added: "Update scripts for all panels" button in Maintain tab
Anmerkung
Vorab ist nicht vollständig getestet - zumindest der Kram den ich gerade eben eingebaut habe :)
Um die Temperatur zu verwenden müssen die Panels per Aktualisieren auf den neuesten Konfigurationsstand gebracht werden:

Auf den Stift klicken und dann oben auf nspanelkonfiguration aktualisieren - dann dauerts 30 Sekunden und dann das nächste.
Alternativ auf der Tasmota Konsole folgendes eingeben
AdcParam 2,14600,10000,3950Bei der Alternative am Ende den Adapter neustarten - sicher ist sicher.
Temperatur einstellen
Das geht dann am einfachsten hier:

Bei 4k wird wirklich alles riesig :D
@muuulle
Ich hab ein hoffentlich besseres error log eingefügt für dein Problem - Die Adminfehlermeldungen werden aber nie genug infos enthalten, dass es mehr als ein "da läuft was schief" geben kann. Daher bitte IMMER im Protokoll gucken. -
Mein aktuelles Dauerprojekt
Roborock-Adapter (Saugroboter)
Ich bastel da immer wieder dran rum, weil der Roborock Adapter nicht so will wie ich, oder ich schnell was rein baue, was aber nicht optimal ist.
Übersichtsseite:

Favoriten: Sind die gespeicherten Programme
Raumreinigung: Multiselekt-Seite für die Räume s.u.
Lädt: Status - adapter interne Funktion - angepasste icons und text zu dem jeweiligen Status
Mop: hab ich vergessen :D
Im Dock: ist er unterwegs oder im dock
Alles: Ist eine Funktion für mein Automatikscript ob nur saugen oder halt alles
Favoriten:
"common": { "name": "select", "desc": "Manuell erzeugt", "role": "level.mode.select", "type": "string", "read": true, "write": true, "def": "", "states": null, "alias": { "id": "roborock.0.Devices.2LF69GkMA1fMm7kfa4Grr.programs.startProgram" }Raumreinigung:

Reinigung s: Multifuktionaler Button mit short und longpress
SaugroboterCleanDetails ist das was erscheint wenn man auf
Reinigung slange drückt.So schauen die Alias aus:

und so die für die CleanDetails:

Und hier das aussehen von CleanDetails also wenn man auf
Reinigung slange drückt

und hier wenn man auf saugen klickt:

Mein persönliches Automatikscript (für leutz die es sehen wollen)
Mein Automatik-, Nachricht- und alles mögliche was mit Saugroboter zu tun hat Skript
Bei Verwendung müssen die Datenpunkte angepasst werden und die raumsteuerung gelöscht oder auf verhandene Datenpunkte gelegt werden.Zur Funktionsweise:
Automatikkram:
Das Skript prüft alle 15 Minuten zwischen 9-19 Uhr ob die Bedingungen erfüllt sind. Bei 2 mal hinter einander wird die Reinigung gestartetBedingungen:
- ist es aktiviert
- ist keiner da
- ist es noch nicht heute gelaufen
- ist der besuchermodus aus
- ist der roboter bereit (läuft nicht, batterie voll genug, kein fehler) und soll er lt. Skript gerade nicht laufen.
- sind alle bedingungen 2 mal erfüllt wärend niemand da war.
Rücksetzen:
Um 01:00 täglich wird das "heute nicht gelaufen" zurück gesetzt und ermittelt ob heute wischen auf true gesetzt werden soll. Wischen wird nach erfolgreichem durchführen vom automatikteil auf false gesetzt. Heißt wenn Montag gewischt werden soll, aber keine autoreinigung surchgeführt wurde, wird am Dienstag gewischt.Vorbeitungen:
Es müssen 2 Programme angelegt werden ich hab dafür 1 mal nur saugen und 1 mal saugen dann wischen in der app angelegt - alle States die oben im Skript stehen müssen angepasst oder angelegt werden.Nachrichten:
Ich hab für Probleme mit Schmutzwasser, Wischwasser und Staubbeutel eine Benachrichtigung fürs panel drin - das wird sowohl als Popup und als Screensaver Benachrichtigung angezeigt - denke das ist doppelgemoppelt aber wurscht. :DRaumsteuerung:
Hab auf 2 shellys den longpress verwendet fürs aktivieren der Raumreinigung - das muß dann natürlich angepasst werden und entsprechende Programme müssen eingerichtet werden. -
du kannst eigentlich das komplette Script kopieren, du musst nur hier ganz am Anfang die Daten anpassen, ganz wichtig
panelTopicrichtig setzen. MitoverrideConfigwerden die Einstellungen weiter unten überschrieben.const overrideConfig: Partial<ScriptConfig.Config> = { // hier kann man die Werte von unten überschreiben bzw nicht ewig im Skript suchen wo nochmal die Farbe steht :) // pages und subpages geht hier nicht, weil die Seiten ja erst später angelegt werden. Bei const gehts nach Reihenfolge. panelTopic: 'nspanel/ns_panel4', weatherEntity: 'pirate-weather.0.', defaultOffColor: Off, defaultOnColor: On, // weatherAddDefaultItems: // - true => alle Standard-Wetterelemente hinzufügen // - false => keine hinzufügen // - { ... } => selektiv per Schlüssel aktivieren: // sunriseSet, forecastDay1, forecastDay2, forecastDay3, forecastDay4, forecastDay5, forecastDay6, // windSpeed, windGust, windDirection, uvIndex, solar // Hinweis: Die einzelnen Schlüssel funktionieren nur, wenn der gewählte Wetteranbieter // die entsprechenden Daten liefert und diese im Adapter vorbereitet wurden "weatherAddDefaultItems": false }@TT-Tom ja, so hat es funktioniert. Bei dem ersten Script und auch beim zweiten Script ist jeweils standarmäßig auskommentiert. Habe da nie hingeschaut.
Warum funktioniert es beim ersten Script obwohl es auskommentiert ist?//panelTopic: 'nspanel/ns_panel4',
-
0.14.0 (2026-03-14)
- (tt-tom17) refactored: timezone selection code moved from adapter to admin handler (internal, no UI changes)
- (ticaki) added: TempOffset configurable in objects and admin tab (#629)
- (ticaki) added: "Update scripts for all panels" button in Maintain tab
Anmerkung
Vorab ist nicht vollständig getestet - zumindest der Kram den ich gerade eben eingebaut habe :)
Um die Temperatur zu verwenden müssen die Panels per Aktualisieren auf den neuesten Konfigurationsstand gebracht werden:

Auf den Stift klicken und dann oben auf nspanelkonfiguration aktualisieren - dann dauerts 30 Sekunden und dann das nächste.
Alternativ auf der Tasmota Konsole folgendes eingeben
AdcParam 2,14600,10000,3950Bei der Alternative am Ende den Adapter neustarten - sicher ist sicher.
Temperatur einstellen
Das geht dann am einfachsten hier:

Bei 4k wird wirklich alles riesig :D
@muuulle
Ich hab ein hoffentlich besseres error log eingefügt für dein Problem - Die Adminfehlermeldungen werden aber nie genug infos enthalten, dass es mehr als ein "da läuft was schief" geben kann. Daher bitte IMMER im Protokoll gucken.@muuulle
Ich hab ein hoffentlich besseres error log eingefügt für dein Problem - Die Adminfehlermeldungen werden aber nie genug infos enthalten, dass es mehr als ein "da läuft was schief" geben kann. Daher bitte IMMER im Protokoll gucken.Hallo,
ich habe Version 0.14 installiert; hier ist der entsprechende Auszug als Bildschirmfoto:
Vielen Dank für eure Arbeit!
Edit:
Es wird mit sendToRequestFail2 quittiert. -
@TT-Tom ja, so hat es funktioniert. Bei dem ersten Script und auch beim zweiten Script ist jeweils standarmäßig auskommentiert. Habe da nie hingeschaut.
Warum funktioniert es beim ersten Script obwohl es auskommentiert ist?//panelTopic: 'nspanel/ns_panel4',
Die original Einstellung wird in const config bei der Panel Initialisierung gemacht. Zu finden am Ende der Seiten Konfiguration. Mit der „overrideConfig“ kann man das Script auch dann für andere Panels nutzen und muss nicht die Parameter im Script suchen.
-
@muuulle
Ich hab ein hoffentlich besseres error log eingefügt für dein Problem - Die Adminfehlermeldungen werden aber nie genug infos enthalten, dass es mehr als ein "da läuft was schief" geben kann. Daher bitte IMMER im Protokoll gucken.Hallo,
ich habe Version 0.14 installiert; hier ist der entsprechende Auszug als Bildschirmfoto:
Vielen Dank für eure Arbeit!
Edit:
Es wird mit sendToRequestFail2 quittiert.