NEWS
Alphatest NSPanel-lovelace-ui v0.1.1
-
Zum Script - da bitte die Vorlage vergleich um die Unterschiede auszumachen, das ist noch lange nicht in der nähe von fertig.
Merkpunkte für das Skript:
Meine Panels die auf dem Adapter laufen, sind jetzt nach ca. 10 Minuten mit geringen umbauten (keine davon direkt an den Daten) betriebsbereit.
Eine Page muß
main
heißen!
Jede Page - muss einenuniqueName
haben - jede Page muß entweder inpages
oder insubPages
enthalten sein.
Jedesparent
muß ein String sein - ich hab da einfach um die Variablen' '
gemacht und dieuniqueName
sind ebenfalls die Variablen namen der Seite.
Jedes ScreensaverItem muß eintype: 'script',
Property haben.
Für den Screensaver gibts jetzt noch die beiden Arrays:favoritScreensaverEntity: [ { type: 'template', template: 'text.accuweather.favorit', dpInit: `/^accuweather\\.0.+/`, modeScr: 'favorit', // dat hier müsste gehen, habs aber im Forum geschrieben keine garantie - hm kann sein das es nur mit type: 'native', naitve: { template: 'text.accu... usw... geht // data: { // entity2: { // value: { type: 'triggered', dp: 'meine.eigenen.temperaturen'} // } // } ], alternateScreensaverEntity: [ // only used with alternate Screensaver ],
button1
undbutton2
gibt es nicht mehr die heißen jetztbuttonLeft
undbuttonRight
Die Typendefinition sieht so aus:
export type ConfigButtonFunction = | { /** * Mode for navigating to a page. * */ mode: 'page'; /** * The page to navigate to. * * @optional */ page?: string; } | { /** * Mode for toggling a datapoint. * */ mode: 'switch'; /** * The state of the datapoint to toggle. * */ state: string; } | { /** * Mode for triggering a button datapoint. * */ mode: 'button'; /** * The state of the button datapoint to trigger. * */ state: string; } | null;
Beispiel:
buttonLeft: { mode: 'switch', state: 'irgendeineidzueinemschalter' }
Edit: bei einigen Datenpunkten bekommt man eine Hilfe wenn man mit der Maus darüber hovert. Werden immer mehr werden.
-
@ticaki Wollte es gerade mit der Version 0.1.8 ausprobieren. Ich kann aber im Feld "MQTT-Topic" nichts eingeben.
Ebenso habe ich die Felder darunter ausgefüllt. Die Buttons werden aber nicht aktiviert. Oder passiert das nur, wenn das Gerät schon hinzugefügt wurde?
Edit: Der erste Versuch war mit dem Safari Browser. In Chrome kann das Feld zwar ausgewählt werden, eine Eingabe ist aber auch da nicht möglich.
-
@patricknitsch bitte von GitHub installieren da sind heute noch wichtige fehlerbehebungen eingeflossen. Der Adapter muss aktiviert sein und laufen.
-
@ticaki Der Adapter läuft. Hab die aktuellste Version von Github gezogen. Ich kann trotzdem nichts bei MQTT Topic eintragen
-
@patricknitsch
Ok sprichst von der Tabelle? Die ist nicht zum editieren gedacht das geht alles über die Button damit die Button aktive werden muss eine ip die aus 1-3Zahlen getrennt mit einem Punkt besteht 4 nummernblöcke 3 punkte, dort eingetragen wird, Name darf nicht leer sein und topic muss… oh weiß ich nicht ganz genau aber denke alphanumerisch -_/ und die Zeichen muss mit einem Buchstaben anfangen weiß aber net ob ich vielleicht nur kleine erlaubt habe…Sind die Bedingungen erfüllt werden die Buttons aktiv, hab heute mit der aktuellen GitHub Version bei mir ein Panel eingerichtet kann später mal rein gucken
-
@ticaki Ich kann hier bei MQTT Topic nichts eintragen und somit kein Panel hinzufügen.
-
Die Tabelle ist nicht zum eintragen von Geräten gedacht… hab das 2 mal geschrieben
-
@ticaki Ok. Ich musste zusätzlich noch das Tasmota Tool anwählen und die IP Adresse auswählen. Dann hat es auch funktioniert. Jetzt wurde das Geräte oben übernommen. Danke
Edit: Die Geräte wurden übernommen, das senden an das Gerät funktioniert aber nicht. Ich bekomme immer wieder "sendToRequestFail". Mit falschen Gerätedaten dürfte er das Gerät gar nicht erst hinzufügen?
-
Bei den esp32 ohne panel bin ich da ein bissle überfragt - Für das hinzufügen ist nötig das der Tasmota auf eine Status0 Anfragen über MQTT unter anderem mit der MAC Adresse antwortet.
Zu dem 2. Punkt - Ich habe heute erst eingebaut das er guckt ob der Tasmota da ist oder einen Fehler zurück gibt... ist wohl die Zeit zu kurz eingestellt. Sry hatte das nicht getestet, hab nicht damit gerechnet das es jemand installiertDat ist noch garnet hochgeladen... geht aber
Mit Senden meinst du die restlichen Funktionen? Hab nachgesehen, da müsste eine Fehlermeldung zu im Log stehen, die benötige ich. Wenn das was mit timeout zu tun hat, ist der Tasmota über die IP nicht zu erreichen, könnte sein das er noch im Restart ist.
-
ich teste das mal die Tage in meinem System. melde ich dann
-
@ticaki ich probiere halt bissl aus. Die Ideen mit der automatischen Configuration sind schon nice
Hier der Fehler, der bei mir im Log auftaucht.
Error: AxiosError: Request failed with status code 401
Die Tasmota Struktur für das Gerät sollte dann ja im Adapter Ordner sein? Hier wurde nämlich gar nix angelegt.
-
@patricknitsch sagte in Alphatest NSPanel-lovelace-ui v0.1.1:
401
Ah ok du hast ein admin Nutzer und passwort im Tasmota eingerichten. Das wird noch nicht unterstützt - kannst es gerne auf github requesten, wollte ich schon einbauen. Vergesse es aber immer wieder.
Desweiteren werden die States erst erzeugt wenn die Konfiguration gefunden wurde und das Panel auf den startup reagiert hat - das ist noch von vorher so, wo ich die MAC-Adresse erst im Startup erfahren hatte. Das werde ich noch umschreiben, das die States deutlich früher erzeugt werden, nur ohne Konfiguration gibts niemals States. In der Adapterlogik selbst werden die States von dem Objekt Panel erzeugt und das wird nur erstelllt, wenn eine halbwegs valide Konfiguration vorliegt.
-
@ticaki Ohne Nutzer klappt das auch schon ganz gut. Er passt die Werte in Tasmota an und sendet auch. Den Stammbaum legt er anschließend auch an. Was noch auffällig ist, das Script wird gestartet, zeigt auch keinen Fehler an und anschließend sofort wieder gestoppt. Fehler habe ich keine gefunden, wird auch nichts angemeckert.
-
Das ist richtig so, das Script wird gestoppt wenn die Konfiguration übertragen wurde. Im log also auch direkt im javascriptadapter sollte als Minimum eine Meldung stehen das das Script die richtige Version hat und ein done
-
Auf dem Nextion Emulator läuft es jetzt auch.
Wenn wir den internen MQTT nutzen. Brauchen wir doch kein User und Passwort, oder??
Ggf müssen wir die Logik nochmal ändern. Gut wäre auch ein Hinweis auf der Panel-Seite das erst MQTT ausgefüllt werden muss.
Werd da mal was schreiben.
-
Der Adapter kann sowohl Port, username als auch Passwort automatisch erzeugen müsste ein Button auf die erste Seite und der Nutzer müsste drauf drücken
-
@ticaki sagte in Alphatest NSPanel-lovelace-ui v0.1.1:
Der Adapter kann sowohl Port, username als auch Passwort automatisch erzeugen müsste ein Button auf die erste Seite und der Nutzer müsste drauf drücken
Ist ne gute Idee, finde ich, auch wenn es im eigenen Netz nicht unbedingt sein muss, aber falls man nur ein Wifi hat, und andere Nutzer (kinder etc) gerne spielen... ist sowas schon besser..
-
@tt-tom Muss ich dazu eine Datei aktualisieren? Berry Driver?
-
Guckmal in der Script Wiki da müsste im Unterpunkt Emulator die passende Berry Datei sein.
-
@ticaki @TT-Tom Funktioniert top über den Simulator.
Ich habe jetzt mal mit dem advanced Screensaver gespielt. Auf den ersten Blick echt nice, was ihr da gezaubert habt. Auch dass jetzt mehr Items darauf Platz finden, die automatisch gewechselt werden ist echt klasse. Im TS Script hatte ich mir dafür mal ein Javascript gebastelt, dass drei komplette Reihen einfach mit neuen Items überschreibt. So natürlich wesentlich komfortabler.
Super Arbeit bisher!! Freue mich auf mehr