NEWS
Alphatest NSPanel-lovelace-ui v0.1.1
-
@tt-tom ```
async function configuration(): Promise<void> {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: 'accuweather.0.', defaultOffColor: Off, defaultOnColor: On, weatherAddDefaultItems: false, } // Diese Konfiguration für den Fahrplan ist ein Beispiel was die interne Adapterkonfiguration benutzt, diese // ist recht komplex und wird nicht weiter erläutert. Da gibts später fertige Templates die man hier verwenden kann. // wie am Fahrplan Beispiel zu sehen ist. const fahrplan: any = { heading: 'Fahrplan Script', native: { card: 'cardEntities', dpInit: 'fahrplan.0.0', uniqueID: 'fahrplanrouten', template: 'entities.fahrplan.routes', } }; // Konfiguration findet im Admin statt, uniqueName muß gleich dem namen in der Adminkonfiguration sein. const qrCode: PageType = { type: 'cardQR', uniqueName: 'qrCode' }; // Konfiguration findet im Admin statt, uniqueName muß gleich dem namen in der Adminkonfiguration sein. const chartHeizung: PageType = { type: 'cardChart', uniqueName: 'temperatur' }; // Ein Beispiel für eine Gridseite mit verschiedenen Farbskalen const main: PageType = { type: 'cardGrid', uniqueName: 'main', heading: 'Wohnzimmer', useColor: true, items: [ {id: 'alias.0.Wohnzimmer.Sensoren.TempSensor.ACTUAL', name: 'standard', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40}}, {id: 'alias.0.Wohnzimmer.Sensoren.TempSensor.ACTUAL', name: 'hue', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40, mode: 'hue'}}, {id: 'alias.0.Wohnzimmer.Sensoren.TempSensor.ACTUAL', name: 'cie', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40, mode: 'cie'}}, {id: 'alias.0.Wohnzimmer.Sensoren.TempSensor.ACTUAL', name: 'standard log min', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40, log10: 'min'}}, {id: 'alias.0.Wohnzimmer.Sensoren.TempSensor.ACTUAL', name: 'hue log min', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40, mode: 'hue', log10: 'min'}}, {id: 'alias.0.Wohnzimmer.Sensoren.TempSensor.ACTUAL', name: 'cie log min', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40, mode: 'cie', log10: 'min'}}, {id: 'alias.0.Wohnzimmer.Sensoren.TempSensor.ACTUAL', name: 'standard', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40}}, {id: 'alias.0.Wohnzimmer.Sensoren.TempSensor.ACTUAL', name: 'hue', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40, mode: 'hue'}}, {id: 'alias.0.Wohnzimmer.Sensoren.TempSensor.ACTUAL', name: 'cie', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40, mode: 'cie'}}, {id: 'alias.0.Wohnzimmer.Sensoren.TempSensor.ACTUAL', name: 'standard log max', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40, log10: 'max'}}, {id: 'alias.0.Wohnzimmer.Sensoren.TempSensor.ACTUAL', name: 'hue log max', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40, mode: 'hue', log10: 'max'}}, {id: 'alias.0.Wohnzimmer.Sensoren.TempSensor.ACTUAL', name: 'cie log max', onColor: Red, offColor: Blue, colorScale: {'val_min': 0, 'val_max': 40, mode: 'cie', log10: 'max'}}, ] }; const grid1: PageType = { uniqueName: 'grid1', // keine Navigation, am besten uniqueName von config.ts übernehmen heading: 'Grid 1', items: [ {id: 'alias.0.Licht.lights.Gerät_1'}, {id: 'alias.0.Licht.lights.Gerät_2'}, {id: '0_userdata.0.Einzelne_Geräte.dimmer'}, {id: 'alias.0.NSPanel.allgemein.hue', }, {navigate: true, targetPage: 'fahrplanrouten'}, {id: 'alias.0.NSPanel.allgemein.shutter'} ], type: 'cardGrid', useColor: true } const config: ScriptConfig.Config = { panelTopic: 'NSPanel_DEV_Adapter', weatherEntity: 'accuweather.0.', defaultOffColor: Off, defaultOnColor: On, defaultBackgroundColor: HMIDark, weatherAddDefaultItems: false, // Als Gedankenstütze, die Hauptseite muß main heißen! //panelName: 'NSPanel', //unique name for the panel // Seiteneinteilung / Page division // Hauptseiten / Mainpages pages: [ main, grid1, qrCode, chartHeizung, ], // Unterseiten / Subpages subPages: [ fahrplan ],
-
wenn du das Script startest läuft es durch ohne Fehlermeldungen?
nach den Script start den Adapter normal durch starten
-
@tt-tom Ich habs noch mal raus geschmissen und neu angelegt, und auch Berry Driver neu angelegt, jetzt gehts. Ich bekomme aber jetzt im Log folgende Meldungen mit Aliassen die vorher funktioniert haben:
-
Ok ich konnte jetzt schon die ersten Seiten erstellen.
Soweit funktioniert das alles sehr schön im Emulator, bin echt begeistert! Danke an alle die daran arbeiten!!!
Zwei Sachen habe ich festgestellt die nicht funktionieren, oder ich nur nicht hinbekomme. Ich weiß nicht ob euch das schon weiterhilft, hoffe ihr fasst das nicht als Kritik auf.
-
Bei Lampen die nur eine Dimmfunktion haben funktioniert das dimmen nicht, bei denen mit Dimm- und Temperaturfunktion geht es.
-
Ich habe einige RGB Lampen, die die Farbe nur als Hexwert (also #ff0012 oder so) annehmen, wenn ich diese im Skript wie vorher als hex definiere wird im Datenpunkt
{ "r": 15, "g": 77, "b": 255 }
geschrieben, das versteht die Lampe natürlich nicht.
-
-
@danny_v1
Bist du so nett und erstellst 2 issue auf GitHub ich gucke mir das morgen an oder am we an. Beim hex wären die objektdaten vom Datenpunkt hilfreivh -
hast du die Rollen von den Datenpunkten kontrolliert. Zeig mal alle Datenpunkte mit Rollen von dem alias.0.Wohnzimmer.Deckenlampe.SofaRGB.Gruppe
im Panel "General" findest du ein Button OpenlinkAlias. Damit kommst du auf unsere Aliastabelle.
-
@danny_v1 sagte in Alphatest NSPanel-lovelace-ui v0.1.1:
Bei Lampen die nur eine Dimmfunktion haben funktioniert das dimmen nicht, bei denen mit Dimm- und Temperaturfunktion geht es.
Kannst du mal die Datenpunkte zeigen von dem Dimmer?
-
Ja Datenpunkte, dazu lade ich heute Abend rein, komm erst dann wieder ran.
Die Rollen habe ich eigentlich kontrolliert, sind zumindest identisch (beim Dimmer) wie die bei den CT Lampen.
Github erstelle ich auch heute Abend, oder soll ich erstmal abwarten, nicht das der Fehler auf meiner Seite liegt.
-
@danny_v1
Dimmer kann ich bestätigen. Der Wert (ACTUAL) wird ausgelesen/getriggert und angezeigt, aber nicht gesetzt (SET), da ist der BUG.EDIT @ticaki der Adapter prüft ob ACTUAL beschreibar ist , nicht SET. Schreiben tut er nach SET.
Der Datenpunkt ON muss die Rolle switch.light und Boolean sein. das musst du nochmal prüfen.
-
@tt-tom
OK, wenn du das auch so bestätigen kannst bin ich ja erst mal beruhigt.Hier ist mal noch der die Lampe mit den hex Werten für die Farbe.
Wenn irgendeine Rolle falsch oder gar nicht eingetragen ist wird das ja im Log eingetragen, da kann man das sehr gut nachvollziehen und anpassen. Das finde ich super.
Irgendwie funktioniert jetzt auch der Rücksprung zum Screensaver nicht mehr. Ich habe versucht schon mal meine Seiten Navigation anzulegen , und seit dem geht das nicht mehr.
-
Rücksprung zum Screensaver kann von einer Seite blockiert werden, wenn dort alwaysOn oder so definiert ist.
Ich gucke mal ob ich mit dem Bild klar komme, aber die Objektdaten wären mir lieber.Jap, fehler bestätigt und gefunden - keine weiteren aktionen von dir zu dem hex problem erforderlich.
-
@ticaki
Das sind die Objektdaten vom RGB Datenpunkt:{ "_id": "alias.0.Wohnzimmer.Deckenlampe.SofaRGB.Gruppe.RGB", "common": { "name": "RGB", "role": "level.color.rgb", "type": "string", "read": true, "write": true, "alias": { "id": "zigbee2mqtt.0.group_6.color" }, "smartName": { "de": "Wohnzimmer Deckenlampe Sofa", "smartType": "light" }, "custom": { "lovelace.0": { "enabled": true, "entity": "light", "name": "Wohnzimmer_Deckenlampe_SofaRGB_Gruppe_RGB", "attr_assumed_state": false } } }, "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": 1713813768302 }
Hab gerade mal im Skript nach AlwaysOn gesucht und bin nicht fündig geworden.
-
siehe Edit oben, hab den Fehler, da er so schön offensichtlich ist, schon gefunden.
-
-
@ticaki
Liegt der Fehler bei mir?Ich hab auch die AlarmCard drin, die scheint aber noch nicht zu funktionieren, kann es sein das die den Screensaver verhindert?
-
PR ist gleich da, guckmal drüber wenn du lust hast - ich hab das mit dem dimmer so gelöst:
if ( item && item.dimmer && item.dimmer.value && (item.dimmer.value.writeable || (item.dimmer.set && item.dimmer.set.writeable)) ) { const dimmer = await tools.getScaledNumber(item.dimmer);
Ach, und die alarmcard ist doch dein Code kann die den Screensaver verhindern?
EDIT: ich mach das noch kürzer und mit ?
-
@ticaki sagte in Alphatest NSPanel-lovelace-ui v0.1.1:
Ach, und die alarmcard ist doch dein Code kann die den Screensaver verhindern?
die dürfte in der main noch nicht drin sein.
-
@danny_v1
Der Screensaver kann durch die eingestellte Zeit in den States verhindert werden. Ich glaube 0 ist immer an oder?
Dann gibts noch mitalwaysOnDisplay:
... darüber muss ich auch noch mit Tom reden - wenn du das irgenwo stehen hast, löschen es,alwaysOnDisplay: 0
/false
/null
/undefined
schalten es aus, alles andere was da steht schaltet es an. Da gibts noch ne Zusatzfunktion die noch nicht vollständig eingebaut ist -
@ticaki sagte in Alphatest NSPanel-lovelace-ui v0.1.1:
Der Screensaver kann durch die eingestellte Zeit in den States verhindert werden. Ich glaube 0 ist immer an oder?
ja, 0 ist an.
-