NEWS
Betatest NSPanel-lovelace-ui v0.2.x
-
@rene55 said in Betatest NSPanel-lovelace-ui v0.2.x:
Danach habe ich das Script laufenlassen und bekam natürlich Fehler:
Script 0.9.3 ist noch richtig TFT Firmware ist die 4.9.5
-
Tschuldigung, wollte eigentlich meinen letzten Post bearbeiten.
@Rene55 Ich würde fast behaupten das da eine bzw. alle Rollen falsch ist. Versuche doch bitte die einzelnen Id´s mal auszu kommentieren (// voranstellen)fang mal beim ersten an und schau was passiert. Bzw. setz mal die richtigen datenpunkte kommentiere mal alle aus bis auf 1 dann suchst du dir den passenden datenpunkt und nicht den ganzen Channel -
@teletapi Das mag sein - ich hatte beim Script schon meine Schwierigkeiten mit Aliasen. Ich hatte gehofft, beim Adapter lönnte ich darauf verzichten. Ich vermute, dass die Aliase -wenn man sie denn noch braucht - vollig falsch angelegt sind.
-
Der Adapter kann direkt mit den Datenpunkten oder mit vorhandenen Aliasen arbeiten... Manchmal macht ein Alias aber dennoch sinn, insbesondere wenn es sich um Formatierungen oder optionalen Berechnungen handelt...
Die Rollen sind nach wie vor entscheidend...
-
@armilar Das hört sich für mich positiv an ! Vielleicht fehlt noch was. Aktuell sieht das so aus:
const Hauptseite: ScriptConfig.PageGrid = {
type: 'cardGrid',
uniqueName: 'main',
heading: 'Startseite',
'items': [ { id: 'mqtt.0.Transfer.151.Luftdruck', name: 'Luftdruck', offColor: MSRed, onColor: MSGreen} ]
};und im Datenpunkt ist als role "role": "variable", eingetragen. Ist das der Fehler?
-
Ja, der MQTT.0 ist dafür völlig ungeeignet, da die Datenpunkte keine Rollen kennen...
-
@armilar Ich bin hier auf einem Testsystem nur für den Adapter. Der hat sonst keine Geräte oder Sensoren. Die Werte (zum testen) spiele ich mir per MQTT hier hinein. Dann müsste/könnte ich den Datenpunkt doch so einrichten, dass er richtig erkannt wird.
-
Kannst dich bestimmt nicht mehr erinnern - aber bei der letzten "wir machen ticaki fertig" Konferenz wurde entschieden, das ticaki das so umbaut dass das kompatibel zum skript ist - dann ein paar monate später war ich damit fertig
. Du brauchst noch immer die Aliase, wie im Skript, am einfachsten geht das mit dem Device-Adapter. Ohne Aliase wird das leider viel zu kompliziert und würde dann ohne das Konvertieren von der Skriptlogic pro einzelnes Pageitem so aussehen.
{ role: 'textNotIcon', type: 'text', dpInit: '', data: { icon: { true: { value: { type: 'const', constVal: 'weather-windy' }, text: { value: { type: 'triggered', dp: 'mqtt.0.Transfer.151.Luftdruck' },}, textSize: { type: 'const', constVal: 3 } }, color: { type: 'const', constVal: Color.Green }, }, entity1: { value: { type: 'triggered', dp: 'mqtt.0.Transfer.151.Luftdruck' } decimal: { type: 'const', constVal: 1 }, factor: undefined, unit:{ type: 'const', constVal: 'hPa' }, }, text: { true: { type: 'const', constVal: 'Luftdruck' }, false: undefined, }, text1: { true: { type: 'const', constVal: 'Luftdruck' }, false: undefined, }, }, },
Und das für jeden Wert den du anzeigen willst, ohne überprüfung ob das sinn macht. Wobei ich auch kein Plan hab ob man das über das Skript eingeben kann, da muß man wohl die ganze Seite nativ definieren. Was dann so wäre:
const pageGridTest1: pages.PageBaseConfig = { dpInit: '', alwaysOn: 'none', uniqueID: 'grid1', useColor: false, config: { card: 'cardGrid', data: { headline: { type: 'const', constVal: 'grid1', }, }, }, pageItems: [ { role: 'TextNotIcon', type: 'text', dpInit: '', data: { icon: { true: { value: { type: 'const', constVal: 'weather-windy' }, text: { value: { type: 'triggered', dp: 'mqtt.0.Transfer.151.Luftdruck' },}, textSize: { type: 'const', constVal: 3 } }, color: { type: 'const', constVal: Color.Green }, }, entity1: { value: { type: 'triggered', dp: 'mqtt.0.Transfer.151.Luftdruck' } decimal: { type: 'const', constVal: 1 }, factor: undefined, unit:{ type: 'const', constVal: 'hPa' }, }, text: { true: { type: 'const', constVal: 'Luftdruck' }, false: undefined, }, text1: { true: { type: 'const', constVal: 'Luftdruck' }, false: undefined, }, }, }, ], }
Keine Ahnung ob das noch geht, ist ewig her das ich tatsächlich eine volle native Konfig geschrieben habe
-
Wenn du den Adapter startest,, sagt dir das Log eigentlich schon was nicht passt...
-
@ticaki Ich würde mich NIE an so einer Konferenz beteiligen!
Ich bin davon ausgegangen - zumindestens bei den Anfängen das Adapterbaus - dass es auch ohne Aliase geht. Ich schau mir die Konvertierlogic mal näher an.
-
@armilar Der sagt mir schon was. Ich krieg es nur nicht gewechselt.
[ 'Panel for Topic: nspanel1 name: nspBuero Script version 0.9.3 is correct!', 'Required: ACTUAL: mqtt.0.arexx.bad, channel role: value.temperature - missing - searching for type: "number", role: "value.temperature"', 'Configuration error in page Startseite with uniqueName main - Missing datapoints! check log for details', 'done' ]
-
-
@ticaki Und da kommt die nächste Wissenslücke. Wie mache ich das? Bin davon ausgegangen, dass das "laufenlassen" des Scripts das genau macht.
-
@rene55
Da hast du mich missverstanden- ein Restart des Adapter siehe oben
- das Skript laufen lassen == hinschicken vom Skript - Das starten des Skript sendet den Inhalt des Skriptes an den Adapter und der wirft dann Warnungen aus und sendet die Warnungen zurück ans Skript - Skript schaltet sich selbstständig aus, dammit beim iobroker/javascript-adapter restart nicht irgend eine ungewollte Änderung hingeschickt wird.
-
@ticaki Dann hab ich ja doch (fast) alles richtig gemacht - außer Neustart vom Adapter.
Im Log sehe ich jetzt:[StatesDB] Dont find states for mqtt.0.arexx.bad.! [config-manager] Required: ACTUAL: mqtt.0.arexx.bad, channel role: value.temperature - missing - searching for type: "number", role: "value.temperature"
Der Datenpunkt sieht so aus:
-
Es wirklich einfacher mit dem Gerätemanager.
Du wählst als Gerät z.B. Temperatur aus und verknüpfst dann dein MQTT Datenpunkt mit ACTUAL.
Dann trägst du den erzeugten Alias in dein Script ein und startest es. Dann nochmal Adapter starten und es sollte was zu sehen sein auf dem Panel. -
@tt-tom Einfacher gesagt als getan. Ich hab mir gerade den Device-Adapter (Geräte verwalten) installiert. Dann links über "Geräte" und wollte dann mit "+" (Neues Gerät mit Aliases erstellen) meinen Luftdruck anlegen.
Beim Drücken auf + passiert nichts! -
bei mir hackt der auch wieder... nerv
Erstelle dir bitte die aliase per hand - einen channel der die role hat die du möchtest und dann ein ACUTAL darunter ebenfalls mit der passenden role - adapter sucht nach rollen - wenn du das anders hinbekommst ok.
https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/blob/main/ALIAS.md
Was da als required angegeben ist muß mit der passenden Role vorhanden sein - und wenn da der name nicht durchgestrichen ist, muß es ausnahmsweise auch so heißen, wie da steht.
EDIT: Anzumerken ist, das es auch noch mehr Adapter gibt, die diese rollen benutzen können, also ist das nicht nur für das nspanel geeignet - matter, lovelance arbeitet ebenfalls damit.
-
@ticaki Ich musste erst noch einen Ordner erzeugen - dann gings. Jetzt habe ich 3 Aliase
und hab die Im Script eingetragen. Damit ist es aber nicht zufrieden. -
@rene55
Zeig mal die Page aus dem Skript und bitte ein Bild das die objekte von links bis zu dem stift zeigt.