NEWS
SONOFF NSPanel mit Lovelace UI
-
@kuckuckmann said in SONOFF NSPanel mit Lovelace UI:
Welche TFT Version (Display_Firmware) hast Du drauf?
4.3.3
-
Jetzt setz mal schrittweise erst noch name: 'name' und wenn das geht dann icon: 'fire' dazu.
Wegen der TFT Version: Ich meinte Display_Firmware nicht TFT_Firmware:
0_userdata.0.NSPanel.1.Display_Firmware.TFT.currentVersion
-
mit icon: 'fire' ändert er das Symbol auf Flamme
dann mit name: 'Flur' erscheint der Name nicht. Müsste der Name nicht eigentlich automatisch gezogen werden?
jedenfalls macht er das in einer anderen PageGrid alleine, ohne das ich name: 'name' dazu geschrieben habe -
-
Ich danke euch trotz an diesem besonderen Tage für die bisherige Hilfe
-
bei einem PageGrid ist bei mir das gleiche Problem, da fehlt dann der 6.
Edith sagt:
Ob es ein Bug ist bin ich mir nicht so sicher, da wenn ich mir das Anzeigen lasse:let Wetter = <PageGrid>{ 'type': 'cardGrid', 'heading': 'Wetter', 'useColor': true, 'subPage': false, 'items': [ <PageItem>{ id: 'alias.0.NSPanel.Wetter.Temperatur', name: 'Außentemp. °C', offColor: MSRed, onColor: MSGreen, useValue: true, colorScale: {'val_min': -20, 'val_max': 40, 'val_best': 20} }, <PageItem>{ id: 'alias.0.NSPanel.Wetter.Feuchtigkeit', name: 'Luftfeuchte %', offColor: MSYellow, onColor: MSYellow , useValue: true, colorScale: {'val_min': 0, 'val_max': 100, 'val_best': 65} }, <PageItem>{ id: 'alias.0.NSPanel.Wetter.Taupunkt', name: 'Taupunkt °C', offColor: MSRed, onColor: MSGreen, useValue: true, colorScale: {'val_min': -20, 'val_max': 40, 'val_best': 20} }, <PageItem>{ id: 'alias.0.NSPanel.Wetter.UV_Index', name: 'UV Index', offColor: White , onColor: White, useValue: true, colorScale: {'val_min': 0, 'val_max': 12} }, <PageItem>{ id: 'alias.0.NSPanel.Wetter.Windstärke', name: 'Windstärke bft', offColor: White , onColor: White, useValue: true, colorScale: {'val_min': 0, 'val_max': 9} }, <PageItem>{ id: 'alias.0.NSPanel.Wetter.Luftdruck', name: 'Luftdruck hPa', offColor: White , onColor: White, useValue: true, colorScale: {'val_min': 950, 'val_max': 1050, 'val_best': 1013} }, ] };
zeigt er es richtig an, alle 6
-
Das einzige, was ich im vgl. noch sehe, nach der letzten geschweiften Klammer ist ein Strichpunkt gesetzt.
-
@whity sagte in SONOFF NSPanel mit Lovelace UI:
dann mit name: 'Flur' erscheint der Name nicht. Müsste der Name nicht eigentlich automatisch gezogen werden?
jedenfalls macht er das in einer anderen PageGrid alleine, ohne das ich name: 'name' dazu geschrieben habedas ist entscheidend was in den Objektdaten des Alias steht.
Zeige bitte mal die Objektdaten vom Alias. Beispiel channel
{ "type": "channel", "common": { "role": "level.timer", "name": "Countdown" }, "native": { "autocreated": "by automatic ensure logic" }, "_id": "alias.0.NSPanel.Countdown", "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1702121650151 }
-
Habe mal kurz Zeit zum reinschauen gehabt...
Da ist alles soweit richtig. Das Problem das jetzt zum Tragen kommt ist, dass die Alias-Namen so lang sind, dass das gesamte Payload die zulässige Gesamtlänge des HMI-Strings überschreitet.
Wenn du das etwas kürzer gestalten könntest, wird der Rest ebenfalls angezeigt.
Ansonsten wäre die Alternative @joBr99 zu bitten (falls möglich), den String um mehr Zeichen im TFT zu erweitern.
-
Vielleicht bauen wir da mal eine Fehlermeldung fürs log. Was ist eigentlich die aktuelle max. Zahl???
So jetzt ist Bescherung
-
Ich hatte gerade Bescherung, deswegen jetzt erst die Antworten:
@Kuckuckmann das Semikolon am Ende ist richtig, da es das Ende von der let Eingabe ist, mir ist aber gerade aufgefallen das es an 2 Stellen fehlte, änderte aber nichts
@TT-Tom
vom Datenpunkt:{ "_id": "alias.0.Haus.Untergeschoss.Sensoren.Kellerraum_Feuer.ACTUAL", "common": { "name": "ACTUAL", "role": "state", "type": "boolean", "read": true, "write": false, "alias": { "id": "mqtt.0.ESP_Easy_BMA_1.RM_KG_Kellerraum_GPIO1.RM_KG_Kellerraum_GPIO1" } }, "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": 1703413471320
vom Ordner darüber:
{ "common": { "name": { "de": "Kellerraum Feuer" }, "role": "info", "icon": null }, "native": {}, "type": "channel", "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1703413471305, "_id": "alias.0.Haus.Untergeschoss.Sensoren.Kellerraum_Feuer", "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
@Armilar muss nur der Name vom Alias Datenpunkt kürzer oder auch die komplette Ordner Struktur darüber?
Hatte es so gebaut wie es in der Doku steht -
OK, der Datenpunktname muss kürzer, es werden jetzt alle 8 angezeigt.
Vielen lieben Dank euch für die Hilfe und Frohe Weihnachten....Ho Ho Ho
Matthias
-
@whity den Datenpunkt kannst du nicht ändern. Nur die Länge der Ordnerstruktur.
-
Ich habe gelesen, das du dich mit dem Thema schon einmal auseinander gesetzt hast. Kannst du mir vielleicht dabei weiter helfen?
-
Mit dem Thema der zu langen Payloads? Oder mit dem NSPanel generell? Wo liegt das Problem? Könntest du kurz schlildern, wo du Hilfe benötigst?
-
Es ging um diesen Post Spotify keine Geräteliste
Zitat:
ich bin gerade dabei die SpotifyCard zum laufen zu bringen, aber ein paar Dinge lassen mich gerade noch verzweifeln.
Die drei Listen unten im Player sind bei mir leider immer leer. Der Rest funktioniert soweit.
Also es werden keine Geräte, Playlisten oder Titellisten angezeigt.
Script ist das aktuellste v4.3.3.25 -
Etwas härtere Nuss denke ich jetzt mal
Deine Variable funktioniert bei mir (mal nur so auf die 3 Listen beschränkt)
Bekommst du Fehlermeldungen, wenn du auf die Icons klickst?
Die Tracklist, (mittleres Icon) wird nur angezeigt, wenn eine Playlist ausgewählt wurde
-
Vielleicht bauen wir da mal eine Fehlermeldung fürs log. Was ist eigentlich die aktuelle max. Zahl???
Ja, ich versuche die Längen der unterschiedlichen Cards mal zu ermitteln... Mir wäre es aktuell lieber, wenn ein längeres Payload möglich wäre.
-
Fehlermeldung im Log vom Script meinst du richtig?
Nein da ist leider nichts zu sehen,
Manchmal steht dort kein Eintrag und manchmal bleibt es leer.
Jetzt bleibt die die ganze Zeit leer.
Das Icon für die Tracklist ist aber dennoch zu sehen, aber auch leer
Auch die EqualizerList wird nicht angezeigt und das ganz rechte Symbol auch nichtEdit:
habe den DebugMode eingeschaltet und nun bekomme ich diesen Eintrag im Log vom Script
Was mir auch im dem Zuge komisch vor kommt ist, das ich keine Einstellungen vom Display aus machen kann, sondern nur direkt in der Objektliste erledigen kann
12:35:04.743 info javascript.0 (147) script.js.common.Gebäude.EG_Wohnzimmer.NSPanel: findPageItem -> pageItem [object Object] 12:35:04.743 info javascript.0 (147) script.js.common.Gebäude.EG_Wohnzimmer.NSPanel: HandleMessage -> pageOpenDetail event - pageOpenDetail - popupInSel - alias.0.Gebäude.Erdgeschoss.Wohnzimmer.NSPanel.Media.PlayerSpotifyPremium?speak - undefined 12:35:04.743 info javascript.0 (147) script.js.common.Gebäude.EG_Wohnzimmer.NSPanel: GenerateDetailPage Übergabe Type: popupInSel - optional: speak - pageItem.id: alias.0.Gebäude.Erdgeschoss.Wohnzimmer.NSPanel.Media.PlayerSpotifyPremium 12:35:04.744 info javascript.0 (147) script.js.common.Gebäude.EG_Wohnzimmer.NSPanel: unsubscribeMediaSubscriptions gestartet 12:35:04.744 info javascript.0 (147) script.js.common.Gebäude.EG_Wohnzimmer.NSPanel: media - no_speaker_found 12:35:04.746 info javascript.0 (147) script.js.common.Gebäude.EG_Wohnzimmer.NSPanel: media - speaker 12:35:04.747 info javascript.0 (147) script.js.common.Gebäude.EG_Wohnzimmer.NSPanel: media - playlist 12:35:04.749 info javascript.0 (147) script.js.common.Gebäude.EG_Wohnzimmer.NSPanel: media - tracklist 12:35:04.750 info javascript.0 (147) script.js.common.Gebäude.EG_Wohnzimmer.NSPanel: media - equalizer 12:35:04.751 info javascript.0 (147) script.js.common.Gebäude.EG_Wohnzimmer.NSPanel: media - tools 12:35:04.752 info javascript.0 (147) script.js.common.Gebäude.EG_Wohnzimmer.NSPanel: function findLocale: missing translation: media - tools 12:35:04.752 info javascript.0 (147) script.js.common.Gebäude.EG_Wohnzimmer.NSPanel: GetNavigationString Übergabe pageId: 0 12:35:04.753 info javascript.0 (147) script.js.common.Gebäude.EG_Wohnzimmer.NSPanel: GenerateMediaPage payload: [object Object] 12:35:04.753 info javascript.0 (147) script.js.common.Gebäude.EG_Wohnzimmer.NSPanel: function SendToPanel payload: entityUpd~Spotify-Premium~button~bPrev~~65535~~~button~bNext~~65535~~~alias.0.Gebäude.Erdgeschoss.Wohnzimmer.NSPanel.Media.PlayerSpotifyPremium~As I Was A Child~65504~Odium | As I Was A Child~65504~8~~65535~~button~alias.0.Gebäude.Erdgeschoss.Wohnzimmer.NSPanel.Media.PlayerSpotifyPremium~~7852~tools~media5~input_sel~alias.0.Gebäude.Erdgeschoss.Wohnzimmer.NSPanel.Media.PlayerSpotifyPremium?speakerlist~~1374~Wiedergabegeräte~media0~input_sel~alias.0.Gebäude.Erdgeschoss.Wohnzimmer.NSPanel.Media.PlayerSpotifyPremium?playlist~~1374~Wiedergabeliste~media1~input_sel~alias.0.Gebäude.Erdgeschoss.Wohnzimmer.NSPanel.Media.PlayerSpotifyPremium?tracklist~~1374~Titelliste~media2~input_sel~alias.0.Gebäude.Erdgeschoss.Wohnzimmer.NSPanel.Media.PlayerSpotifyPremium?equalizer~~1374~Equalizer~media3~button~alias.0.Gebäude.Erdgeschoss.Wohnzimmer.NSPanel.Media.PlayerSpotifyPremium?repeat~~17299~Repeat~media4 12:35:04.753 info javascript.0 (147) script.js.common.Gebäude.EG_Wohnzimmer.NSPanel: function SendToPanel payload: entityUpdateDetail2~alias.0.Gebäude.Erdgeschoss.Wohnzimmer.NSPanel.Media.PlayerSpotifyPremium?speak~~1374~~~Kein Eintrag
-
Das das letzte Icon nicht korrekt angezeigt wird, weist auf einen unvollständigen ALIAS hin.
Die letzte Schilderung mit den Einstellungen ebenfalls.
Bitte mal vom NSPanel erzeugte Ordner komplett wegwerfen:
- 0_userdata.0...Dieses_Panel
- alias.0...Dieses_Panel
Also nicht nur den Media-Teil, sondern wirklich alles.
Dann das Script starten und neu anlegen lassen.#
EDIT:
Habe jetzt mal die ALIAS-Längealias.0.Gebäude.Erdgeschoss.Wohnzimmer.NSPanel.Media.PlayerSpotifyPremium
gesehen. Für jedes Icon wird so etwas intern generiert und übermittelt...
Bitte mal versuchen den Alias Pfad im Standard auf alias.0.NSPanel.1.Media zu lassen
Auch das weist aktuell auf einen viel zu langen Alias-Path hin
Die HMI nimmt sich den Payload-String und schneidet hinten einfach alles ab, was zu lang ist. Das Resultat ist dann, dass nicht alles verarbeitet wird - und dann fehlen auch die letzten Icons...
EDIT2:
Ich denke es hat da nichts mit zu tun, aber künftig bitte auch versuchen, keine Umlaute zu erzeugen wie das "ä" in "Gebäude". Stattdessen "Gebaeude" oder "Haus" verwenden.Auch könnte man die Stringlänge drastisch verkürzen, wenn man statt Erdgeschoss - EG verwendet oder für Obergeschoss - OG.
EDIT3:
/***** 5. Script - Parameters *****/ // DE: Für diese Option muss der Haken in setObjects in deiner javascript.X. Instanz gesetzt sein. // EN: This option requires the check mark in setObjects in your javascript.X. instance must be set. const autoCreateAlias = true; // DE: Verzeichnis für Auto-Aliase (wird per Default aus dem NSPanel-Verzeichnis gebildet und muss nicht verändert werden) // EN: Directory for auto aliases (is created by default from the NSPanel directory and does not need to be changed) const AliasPath: string = 'alias.0.' + NSPanel_Path.substring(13, NSPanel_Path.length);
Das ist der Standard-Pfad für den Alias
Wenn der analog deiner gesendeten Variable verwendet würde,
dann wäre der Pfad eh wesentlich kürzer:
Also maximal
alias.0.NSPanel.1.Media.PlayerSpotifyPremium
statt
alias.0.Gebäude.Erdgeschoss.Wohnzimmer.NSPanel.Media.PlayerSpotifyPremium
Ich denke dann hätten wir das Problem bereits gelöst.