NEWS
SONOFF NSPanel mit Lovelace UI
-
@olligut sagte in SONOFF NSPanel mit Lovelace UI:
Hallo zusammen,
ich würde gerne meine Bose Soundtouch mit dem NSPanel steuern. Ich habe auf dem IOBroker den Soundtouch Adapter installiert und eine Instanz angelegt. Da es die vorkonfigurierten MediaCards nur für Sonos, Alexa etc gibt. wollte ich einfach eine Standard-MediaCard nutzen.let Bose = <PageMedia> { "type": "cardMedia", "heading": "Bose", "useColor": true, "items": [<PageItem>{ id: AliasPath + 'Media.Bose', adapterPlayerInstance: "bosesoundtouch.0.", mediaDevice: "192.168.178.32", speakerList: ["Wohnzimmer"], colorMediaIcon: colorSpotify, colorMediaArtist: Yellow, colorMediaTitle: Yellow, autoCreateALias : true }] };
Aber schon ein erster Versuch schlägt fehl: "Cannot read properties of undefined (reading 'id')"
Was eigentlich logisch ist, weil es den Pfad unter Alias auch nicht gibt; allerdings wird er auch nicht angelegt, obwohl ich das Autoanlegen aktiviert habe.
Hat vielleicht jemand so einen Adapter bereits gebaut und könnte mir etwas helfen, oder wie sollte ich vorgehen, wenn ich das selber machen müsste?
Für einen Tipp bedanke ich mich im Voraus und wünsche allen schonmal einen guten Rutsch.
Gruß OlliDa gehen nur eingebaute Adapter und bosesoundtouch.0 ist da nicht drin. Mal sehen was @Armilar, @TT-Tom dazu meinen. Ich mach nur types
Passt aber gerade gut, hab vor 20 Minuten die types dafür eingebaut.
type PlayerType = 'alexa2' | 'sonos' | 'spotify-premium' | 'volumio' |'squeezeboxrpc'
-
-
Update v4.3.3.31
@ticaki ist unermüdlich am Tippen und hat folgende Änderungen für euch heute mitgebracht:
- Da der Alias für die cardMedia sowieso von niemanden erstellt werden kann, wird der Parameter
autoCreateALias
in der Seitendefinition der cardMedia nicht mehr benötigt. Der Parameter ist direkt in die Funktion der cardMedia im NSPanelTs.ts gewandert. - Ab sofort ist die Verwendung des Parameters adapterPlayerInstanz ausschließlich auf die cardMedia eingeschränkt. (Ich denke den hatte sowieso niemand in einer anderen Card )
- Es sind 10 Player-Instanzen (0-9) eines Adapters erlaubt. Jede Instanz benötigt einen '.' Punkt am Ende (War bislang beim Volumio und Squeezebox-RPC nicht der Fall). Also
volumio.0.
stattvolumio.0
undsqueezeboxrpc.0.
stattsqueezeboxrpc.0
Somit sind alle Player-Instanzen von der Nomenklatur jetzt gleich.
@TT-Tom hat mit der v4.3.3.29 eine ESP32-Buzzer-Funktion im popupNotify bereitgestellt. Die v4.3.3.30 kam zeitgleich mit der v4.3.3.29, so dass die Erwähnung dieses Punktes unterging.
In den nächsten Tagen kommen von meiner Seite dann noch funktionale Verbesserungen für den einen oder anderen Media-Player.
Wenn aktuelle Version ab v4.3.3.30, dann unteren Teil des NSPanelTs.ts ab:
// ________________ DE: Ab hier keine Konfiguration mehr _______________
austauschen
https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/NsPanelTs.ts
Wenn aktuelle Version bis v4.3.3.29, dann Updateaneitung befolgen:
https://github.com/joBr99/nspanel-lovelace-ui/wiki/NSPanel-Starthilfe-FAQ#hilfe-bei-update--upgrade - Da der Alias für die cardMedia sowieso von niemanden erstellt werden kann, wird der Parameter
-
@armilar Das wäre ja super. Testen werde ich natürlich gerne. Ich habe die Datenpunkte als json, wie kann ich dir diese zur Verfügung stellen? Man kann wohl nur Bilder hochladen und dafür ist es zu viel...
Schon mal vielen Dank.
Gruß Olli -
Ein Bild von den Datenpunkten unter Objekte reicht mir, wenn die Werte z.T. sichtbar sind.
Ggfs. komme ich bei dem ein oder anderen auf dich zurück
Der Adapter selbst liefert ja auch Infos...
-
Halli,Hallo
Ich hab heute das update auf v4.3.3.30 durchgeführt, das Script zeigt im Editor keinen Fehler und startet dann auch ohne Fehler.
Allerdings kommt dann nach kurzer Zeit Zeit folgende Fehlermeldung:
javascript.0 2024-01-04 11:15:00.086 warn script.js.NSPanel.NSPanelTS_1_v4_3_3_30: error at function HandleScreensaverUpdate: Cannot read properties of undefined (reading 'ScreensaverEntityIconColor') javascript.0 2024-01-04 11:14:30.397 warn script.js.NSPanel.NSPanelTS_1_v4_3_3_30: error at function HandleScreensaverUpdate: Cannot read properties of undefined (reading 'ScreensaverEntityIconColor') javascript.0 2024-01-04 11:14:28.266 warn script.js.NSPanel.NSPanelTS_1_v4_3_3_30: error at function HandleScreensaverUpdate: Cannot read properties of undefined (reading 'ScreensaverEntityIconColor') javascript.0 2024-01-04 11:10:30.469 warn script.js.NSPanel.NSPanelTS_1_v4_3_3_30: error at function HandleScreensaverUpdate: Cannot read properties of undefined (reading 'ScreensaverEntityIconColor')
die hatte ich vorher nicht??
Anmeckern tut er anscheinend die Einträge für 'indicatorScreensaverEntity' und da wohl 'ScreensaverEntityIconColor: {'val_best': 1}'
die sehen bei mir so aus:
// indicatorScreensaverEntity 2 (only Advanced Screensaver) { ScreensaverEntity: 'alias.0.Home.Garage.Garagentor.ACTUAL', ScreensaverEntityFactor: 1, ScreensaverEntityDecimalPlaces: 0, ScreensaverEntityIconOn: 'garage-variant', ScreensaverEntityIconOff: 'garage-open-variant', ScreensaverEntityText: 'Garage', ScreensaverEntityUnitText: '', ScreensaverEntityIconColor: {'val_best': 1} },
ich hab das gemäß Wiki mal auf
'ScreensaverEntityIconColor: { 'val_min': 0, 'val_max': 1 }'
geändert, aber die Fehler kommen weiterhin.
Wo ist jetzt mein Problem? Wie gesagt vor dem Update lief alles ohne Probleme
-
@icebear sagte in SONOFF NSPanel mit Lovelace UI:
ScreensaverEntityIconColor
Zeig mal bitte den kompletten Unterpunkt zu indicatorScreensaverEntity.
-
@ticaki said in SONOFF NSPanel mit Lovelace UI:
Zeig mal bitte den kompletten Unterpunkt zu indicatorScreensaverEntity.
indicatorScreensaverEntity: [ // Examples for Advanced-Screensaver: https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-Config-Screensaver#entity-status-icons-ab-v400 { ScreensaverEntity: 'alias.0.Home.Nuki.Nuki.ACTUAL', ScreensaverEntityFactor: 1, ScreensaverEntityDecimalPlaces: 0, ScreensaverEntityIconOn: 'lock-outline', ScreensaverEntityIconOff: 'lock-open-outline', ScreensaverEntityText: 'Nuki', ScreensaverEntityUnitText: '', ScreensaverEntityIconColor: { 'val_best': 1} }, // indicatorScreensaverEntity 2 (only Advanced Screensaver) { ScreensaverEntity: 'alias.0.Home.Garage.Garagentor.ACTUAL', ScreensaverEntityFactor: 1, ScreensaverEntityDecimalPlaces: 0, ScreensaverEntityIconOn: 'garage-variant', ScreensaverEntityIconOff: 'garage-open-variant', ScreensaverEntityText: 'Garage', ScreensaverEntityUnitText: '', ScreensaverEntityIconColor: {'val_best': 1} }, // indicatorScreensaverEntity 3 (only Advanced Screensaver) { ScreensaverEntity: 'alias.0.Home.Alarmanlage.ACTUAL', ScreensaverEntityFactor: 1, ScreensaverEntityDecimalPlaces: 0, ScreensaverEntityIconOn: 'shield-home-outline', ScreensaverEntityIconOff: 'shield-home-outline', ScreensaverEntityText: 'Alarm', ScreensaverEntityUnitText: '', ScreensaverEntityIconColor: {'val_best': 0} }, // indicatorScreensaverEntity 4 (only Advanced Screensaver) { ScreensaverEntity: 'alias.0.Home.Garage.CarLoad.ACTUAL', ScreensaverEntityFactor: 1, ScreensaverEntityDecimalPlaces: 0, ScreensaverEntityIconOn: 'ev-plug-ccs2', ScreensaverEntityIconOff: 'ev-plug-ccs2', ScreensaverEntityText: 'Car', ScreensaverEntityUnitText: '', ScreensaverEntityIconColor: {'val_best': 0} }, ],
-
@icebear sagte in SONOFF NSPanel mit Lovelace UI:
indicatorScreensaverEntity
Fehler im Code und in der Config gefunden.
Es müssen 5 angegeben sein - dein Fehler
Es wird nicht gecheckt ob einer undefiniert ist - unser Fehler
Und noch einer - IconColor wurde immer vom 5 Eintrag genommen
-
ScreensaverEntityIconColor: {'val_best': 0}
geht nicht!
es muss mindestens
val_min
undval_max
vorhanden sein.ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 985, 'val_best': 500}
Zum Prinzip:
-
val_min
stellt den minimalen Wert einer Skala dar (grün) -
val_max
stellt den maximalen Wert einer Skala dar (rot) -
Wenn
val_best
(optional) gesetzt ist (Wert zwischen val_min und val_max), dann stellt dieser den "grünen Bereich" dar und ändert sich zu val_min und val_max jeweils in Richtung rot.
EDIT:
Man kann natürlich wie in diesem Beispiel:{ ScreensaverEntity: 'alias.0.Home.Nuki.Nuki.ACTUAL', ScreensaverEntityFactor: 1, ScreensaverEntityDecimalPlaces: 0, ScreensaverEntityIconOn: 'lock-outline', ScreensaverEntityIconOff: 'lock-open-outline', ScreensaverEntityText: 'Nuki', ScreensaverEntityUnitText: '', ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 1, 'val_best': 0} },
die Skala für boolsche Werte nutzen. Wenn du jedoch nur zwei Zustände hast, kannst du OnColor und OffColor benutzen
{ ScreensaverEntity: 'alias.0.Home.Nuki.Nuki.ACTUAL', ScreensaverEntityFactor: 1, ScreensaverEntityDecimalPlaces: 0, ScreensaverEntityIconOn: 'lock-outline', ScreensaverEntityIconOff: 'lock-open-outline', ScreensaverEntityText: 'Nuki', ScreensaverEntityUnitText: '', ScreensaverEntityOnColor: Green, ScreensaverEntityOffColor: Red, },
-
-
@armilar said in SONOFF NSPanel mit Lovelace UI:
geht nicht!
es muss mindestens val_min und val_max vorhanden sein.@ticaki @Armilar danke euch beiden, habs geändert und funktioniert jetzt ohne Fehler.
-
Allerdings stellt sich die Frage warum hat es noch mit der v4.3.3.24 ohne Fehlermeldung funktioniert?
-
Dann müsstet ihr auch bitte noch das Wiki ändern weil da steht auch noch folgendes drin
Danke nochmal
-
-
- Der Code überspringt den Eintrag, da er nicht findet was er benötigt. Setzt also die Default-Farbe für das Icon ein...
- Danke - das stimmt wohl --> ich ändere es gleich mal ab
EDIT:
Habe die Zeile mal ganz entfernt, da es oberhalb perfekt erklärt ist:
OnColor und OffColor nehmen wir noch mit auf...
-
@armilar Perfekt. Dann kommt hier das Bild! Ich habe das aus einzelnen Screenshots zusammenkopiert, daher die mehrfache Zeilenmarkierung.
Gruß Ollli
-
Perfekt - alles drin - gib mir ein paar Tage
Der Rumpf ist schon da
EDIT: Auch schon ein wenig mehr
-
Hallo zusammen,
eigentlich bin ich nur stiller Leser und dies ist mein erster Post in diesem Forum. Bis jetzt habe ich durch das Forum und Wiki immer eine Lösung gefunden aber aktuell erhalte ich im Screensaver Fehler und komme einfach nicht weiter.Ich habe 3 NS-Panel welche aktuell konfiguriert sind und prima laufen mit der Version v4.3.3.28.
Gestern habe ich testweise versucht die aktuelle Version v4.3.3.31 einzuspielen und erhielt ich folgenden Fehler beim Starten.
TypeScript compilation failed: ScreensaverEntityIconColor: { 'val_min': false, 'val_max': true } ^ ERROR: Type
Da ich im Changelog was gelesen hatte wegen Type-Prüfung habe ich die Config wie geändert.
vorher:indicatorScreensaverEntity: [ { ScreensaverEntity: '0_userdata.0.Gartentor.Toristoffen', ScreensaverEntityFactor: 1, ScreensaverEntityDecimalPlaces: 0, ScreensaverEntityIconOn: 'gate-alert', ScreensaverEntityIconOff: 'gate', ScreensaverEntityText: 'Tor', ScreensaverEntityUnitText: '', ScreensaverEntityIconColor: { 'val_min': false, 'val_max': true } },
Änderung:
indicatorScreensaverEntity: [ { ScreensaverEntity: '0_userdata.0.Gartentor.Toristoffen', ScreensaverEntityFactor: 1, ScreensaverEntityDecimalPlaces: 0, ScreensaverEntityIconOn: 'gate-alert', ScreensaverEntityIconOff: 'gate', ScreensaverEntityText: 'Tor', ScreensaverEntityUnitText: '', ScreensaverEntityIconColor: { 'val_min': 0, 'val_max': 1 } },
jetzt erhalte ich beim Starten zwar keine Fehlermeldung mehr aber der Screensaver wird nicht angezeigt und im Log steht folgender Error.
javascript.0 (2358182) script.js.NSpanel.NSPanelTs_felix_ts1: error at function HandleScreensaverUpdate: Cannot read properties of undefined (reading 'ScreensaverEntityIconColor')
Die Entity hat den Zustand boolean: false/true
Vielleicht kann mir jemand einen Tipp geben.
-
@rockplums sagte in SONOFF NSPanel mit Lovelace UI:
indicatorScreensaverEntity
Du musst davon 5 haben, wahrscheinlich einer zuwenig.
-
vielen Dank. Das hat funktioniert. Ich brauche zwar nur 4 davon aber mit 5 hat es funktioniert.
-
Ich weiß nicht obs mit 4 ordenltich angezeigt wird aber in der nächsten Versions gibts keinen Fehler bei 4
-
@OlliGut
Bitte mal den Bose Soundtouch testenlet BoseSoundtouch: PageType = { 'type': 'cardMedia', 'heading': 'Bose Soundtouch', 'items': [{ id: AliasPath + 'Media.PlayerBoseSoundtouch', adapterPlayerInstance: "bosesoundtouch.0.", speakerList: ['Wohnzimmer'], playList: ['Preset 1','Preset 2','Preset 3','Preset 4','Preset 5', 'Preset 6'], repeatList: ['REPEAT_OFF','REPEAT_ALL','REPEAT_ONE'], colorMediaIcon: White, colorMediaArtist: Yellow, colorMediaTitle: Yellow, alwaysOnDisplay: true, autoCreateALias: true }] };
Nicht vergessen, die Variable unter
pages
einzutragen.In der v.4.3.3.33 enthalten
https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/NsPanelTs.tsLässt sich noch verfeinern, würde jedoch gerne wissen, ob das jetzt schon läuft.
VG
Armilar -
@ticaki said in SONOFF NSPanel mit Lovelace UI:
Ich weiß nicht obs mit 4 ordenltich angezeigt wird aber in der nächsten Versions gibts keinen Fehler bei 4
das klingt gut...
Ich hatte bis jetzt immer nur 4 und die wurden korrekt angezeigt. Habe es aktuell so gelöst, dass ich eine 5 ScreensaverEntity angelegt habe als Platzhalter und dortScreensaverEntityIconOn: '',
ScreensaverEntityIconOff: '',
konfiguriert habe.Somit kommt kein Error mehr und der Screensaver wird korrekt angezeigt.