NEWS
SONOFF NSPanel mit Lovelace UI
-
du musst dann aber auch die min max anpassen, weil mit max 35km/h kann man wenig anfangen
ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 35}
@Armilar
Heute wurde Tasmota 1.2.4.0 released => das Panel zeigt die Popupmessage auch an aber drückt man auf ja wird wird das update nicht getriggert auch im Debugmodus sieht man das die Funktion für das Update nicht gestartet wird . Ist das gewollt? Ich war der Meinung das ging schon mal.EDIT: habs gefunden => manually_Update muss true sein, aber ist das so richtig? Weil es ist ein manuelles Update, wenn ich noch die Wahl zwischen ja und nein habe und es mit Ja betätige, müsste er doch trotzdem ein Update machen oder nicht?
on({ id: NSPanel_Path + 'popupNotify.popupNotifyAction', change: 'any' }, async function (obj) { try { const val = obj.state ? obj.state.val : false; if (!val) { manually_Update = false; if (Debug) { console.log('Es wurde Button1 gedrückt'); } } else if (val) { if (manually_Update) { => Entfernen? const internalName = getState(NSPanel_Path + 'popupNotify.popupNotifyInternalName').val; if (internalName == 'TasmotaFirmwareUpdate') { update_tasmota_firmware(); } else if (internalName == 'BerryDriverUpdate') { update_berry_driver_version(); } else if (internalName == 'TFTFirmwareUpdate') { update_tft_firmware(); } } if (Debug) { console.log('Es wurde Button2 gedrückt'); } } } catch (err) { console.warn('Trigger popupNotifyAction: ' + err.message); } });
@Armilar
EDIT2:
Ich hab jetzt das manuelly_Update mal komplett aus dem Skript entfernt und prüfen einfach nur im im internalName das Word Update steht.on({ id: NSPanel_Path + 'popupNotify.popupNotifyAction', change: 'any' }, async function (obj) { try { const val = obj.state ? obj.state.val : false; if (!val) { if (Debug) { console.log('Es wurde Button1 gedrückt'); } } else if (val) { const internalName: string = getState(NSPanel_Path + 'popupNotify.popupNotifyInternalName').val; if (internalName.includes('Update')) { if (internalName == 'TasmotaFirmwareUpdate') { update_tasmota_firmware(); } else if (internalName == 'BerryDriverUpdate') { update_berry_driver_version(); } else if (internalName == 'TFTFirmwareUpdate') { update_tft_firmware(); } } if (Debug) { console.log('Es wurde Button2 gedrückt'); } } } catch (err) { console.warn('Trigger popupNotifyAction: ' + err.message); } });
-
@ronny130286
So sieht es bei mir aus, müsste doch passen oder?secondScreensaverEntity: { ScreensaverEntity: 'accuweather.0.Current.WindSpeed', ScreensaverEntityFactor: (1000/3600), //New ScreensaverEntityDecimalPlaces: 1, //New ScreensaverEntityIcon: 'weather-windy', ScreensaverEntityText: "Wind", ScreensaverEntityUnitText: 'Km/h', ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 90}
-
ScreensaverEntityFactor: (1000/3600), //New
Das muss auf 1 stehen nicht auf 1000/3600 => das wäre die Umrechnung in m/s
ScreensaverEntityFactor: 1, //New
-
@ronny130286
Danke! Das wars -
Hab es schon bemerkt. Das muss eigentlich auch gar nicht mehr eingeblendet werden, da die Funktionen auch über das Servicemenü ermöglicht werden.
-
@armilar
Also das es angezeigt wird finde ich gut, da man ansonsten keinerlei Hinweis hat das es ein Update gibt, aber er sollte dann auch updaten wenn man ja drückt
Ich hab die Funktion wie oben ersetzt, somit kann man ja nein nutzen und zusätzlich kann man es auch im Servicemenu updaten, sofern man Autoupdate aus lässt. -
werde es nachher mal kurz übernehmen
-
@armilar
Hi,
hat einen Moment gedauert mich in die Struktur des TypeScripts einzuarbeiten aber langsam komme ich voran.
Ich habe eine erste Variante mit Squeezeboxrpc Unterstützung die bei mir soweit ganz gut funktioniert. Man kann die Speaker wechseln, die Favoriten Playlists auswählen, autoCreateAlias funktioniert, etc.
Das war bisher nicht möglich.
Allerdings musste ich für die Auswahl der Speaker leider recht große Anpassungen machen, da die Struktur einfach so verschieden ist zu den anderen Adaptern.Hier der letzte große Commit in meinem Branch im Fork Repo:
https://github.com/bembelstemmer/nspanel-lovelace-ui/commit/5a2a95a7f7d0d6aa70589550484b6e423bba6c71
Wenn du willst, kannst du gerne mal drüber schauen. Wollte nicht einfach nen Pull-Request aufmachen, da das schon ne größere Anpassung ist und ich nicht sicher bin ob das so alles ins Konzept passt.
Zudem kann ich nicht testen ob ich die anderen Media Adapter vielleicht kaputt gemacht habeAlso gerne Kommentare oder so wie ich am besten vorgehen soll.
VG
-
Top, bekommen wir schon alle unter einen Hut. Ich teste übers Wochenende mal die anderen Adapter.
-
Ich hänge beim Wlan QR-Code fest...
Ich habe folgendes im Skript:
let Test_WLAN = <PageQR> { "type": "cardQR", "heading": "Deine Überschrift", "useColor": true, "subPage": false, "parent": undefined, "items": [<PageItem>{ id: "alias.0.NSPanel_1.Guest_Wifi" }] // Beispiel };
Wenn ich diese Seite jetzt als erste Position bei den Seiten eintrage startet das Panel nicht (warten auf content).
Wenn ich diese Seite auf Position 2 setzte ruft er die Seite nicht auf.
Folgende Fehlermeldung kommen:
09:56:38.070 warn javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: Object "alias.0.NSPanel_1.Guest_Wifi" does not exist 09:56:38.073 warn javascript.0 (970) at GenerateQRPage (script.js.NSPanels.NSPanel_Wohnzimmer:5302:67) 09:56:38.073 warn javascript.0 (970) at GeneratePage (script.js.NSPanels.NSPanel_Wohnzimmer:3495:29) 09:56:38.073 warn javascript.0 (970) at HandleMessage (script.js.NSPanels.NSPanel_Wohnzimmer:3416:21) 09:56:38.074 warn javascript.0 (970) at Object.<anonymous> (script.js.NSPanels.NSPanel_Wohnzimmer:3357:25) 09:56:38.074 warn javascript.0 (970) at step (script.js.NSPanels.NSPanel_Wohnzimmer:33:23) 09:56:38.074 warn javascript.0 (970) at Object.next (script.js.NSPanels.NSPanel_Wohnzimmer:14:53) 09:56:38.074 warn javascript.0 (970) at script.js.NSPanels.NSPanel_Wohnzimmer:8:71 09:56:38.075 warn javascript.0 (970) at __awaiter (script.js.NSPanels.NSPanel_Wohnzimmer:4:12) 09:56:38.075 warn javascript.0 (970) at Object.<anonymous> (script.js.NSPanels.NSPanel_Wohnzimmer:3349:12) 09:56:38.076 warn javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: function GenerateQRPage: Cannot read properties of null (reading 'split') 09:56:38.077 warn javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: function SendToPanel: Cannot read properties of undefined (reading 'payload')
Gruß Olli
-
In der ersten Zeile der Warnungen steht bereits die Lösung
Der Alias aus dem PageItem existiert nicht...
https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---FAQ-&-Anleitungen#5-qr-code-page
-
@armilar
Stimmt, aber auch mit dem Alias will das irgendwie nicht:0:08:49.232 info javascript.0 (970) Stop script script.js.NSPanels.NSPanel_Wohnzimmer 10:08:49.885 info javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: compiling TypeScript source... 10:08:55.586 info javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: TypeScript compilation successful 10:08:55.736 info javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: Wetter-Alias für accuweather.0. existiert bereits 10:08:55.775 info javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: registered 31 subscriptions, 7 schedules, 0 messages, 0 logs and 0 file subscriptions 10:08:56.953 info javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: Desired TFT Firmware: 49 / v3.9.0 10:08:56.953 info javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: Installed TFT Firmware: 49 / v3.9.0 10:09:12.027 info javascript.0 (970) Stop script script.js.NSPanels.NSPanel_Wohnzimmer 10:09:12.606 info javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: compiling TypeScript source... 10:09:17.648 info javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: TypeScript compilation successful 10:09:17.783 info javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: Wetter-Alias für accuweather.0. existiert bereits 10:09:17.812 info javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: registered 31 subscriptions, 7 schedules, 0 messages, 0 logs and 0 file subscriptions 10:09:19.012 warn javascript.0 (970) at GenerateQRPage (script.js.NSPanels.NSPanel_Wohnzimmer:5302:67) 10:09:19.012 warn javascript.0 (970) at GeneratePage (script.js.NSPanels.NSPanel_Wohnzimmer:3495:29) 10:09:19.013 warn javascript.0 (970) at HandleMessage (script.js.NSPanels.NSPanel_Wohnzimmer:3416:21) 10:09:19.013 warn javascript.0 (970) at Object.<anonymous> (script.js.NSPanels.NSPanel_Wohnzimmer:3357:25) 10:09:19.013 warn javascript.0 (970) at step (script.js.NSPanels.NSPanel_Wohnzimmer:33:23) 10:09:19.014 warn javascript.0 (970) at Object.next (script.js.NSPanels.NSPanel_Wohnzimmer:14:53) 10:09:19.014 warn javascript.0 (970) at script.js.NSPanels.NSPanel_Wohnzimmer:8:71 10:09:19.014 warn javascript.0 (970) at __awaiter (script.js.NSPanels.NSPanel_Wohnzimmer:4:12) 10:09:19.015 warn javascript.0 (970) at Object.<anonymous> (script.js.NSPanels.NSPanel_Wohnzimmer:3349:12) 10:09:19.021 warn javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: function GenerateQRPage: Cannot read properties of null (reading 'split') 10:09:19.021 warn javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: function SendToPanel: Cannot read properties of undefined (reading 'payload') 10:09:19.104 info javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: Desired TFT Firmware: 49 / v3.9.0 10:09:19.105 info javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: Installed TFT Firmware: 49 / v3.9.0 10:09:23.974 warn javascript.0 (970) at GenerateQRPage (script.js.NSPanels.NSPanel_Wohnzimmer:5302:67) 10:09:23.974 warn javascript.0 (970) at GeneratePage (script.js.NSPanels.NSPanel_Wohnzimmer:3495:29) 10:09:23.975 warn javascript.0 (970) at HandleMessage (script.js.NSPanels.NSPanel_Wohnzimmer:3416:21) 10:09:23.975 warn javascript.0 (970) at Object.<anonymous> (script.js.NSPanels.NSPanel_Wohnzimmer:3357:25) 10:09:23.975 warn javascript.0 (970) at step (script.js.NSPanels.NSPanel_Wohnzimmer:33:23) 10:09:23.975 warn javascript.0 (970) at Object.next (script.js.NSPanels.NSPanel_Wohnzimmer:14:53) 10:09:23.976 warn javascript.0 (970) at script.js.NSPanels.NSPanel_Wohnzimmer:8:71 10:09:23.976 warn javascript.0 (970) at __awaiter (script.js.NSPanels.NSPanel_Wohnzimmer:4:12) 10:09:23.977 warn javascript.0 (970) at Object.<anonymous> (script.js.NSPanels.NSPanel_Wohnzimmer:3349:12) 10:09:23.979 warn javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: function GenerateQRPage: Cannot read properties of null (reading 'split') 10:09:23.979 warn javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: function SendToPanel: Cannot read properties of undefined (reading 'payload') 10:09:29.983 warn javascript.0 (970) at GenerateQRPage (script.js.NSPanels.NSPanel_Wohnzimmer:5302:67) 10:09:29.983 warn javascript.0 (970) at GeneratePage (script.js.NSPanels.NSPanel_Wohnzimmer:3495:29) 10:09:29.984 warn javascript.0 (970) at HandleMessage (script.js.NSPanels.NSPanel_Wohnzimmer:3416:21) 10:09:29.984 warn javascript.0 (970) at Object.<anonymous> (script.js.NSPanels.NSPanel_Wohnzimmer:3357:25) 10:09:29.985 warn javascript.0 (970) at step (script.js.NSPanels.NSPanel_Wohnzimmer:33:23) 10:09:29.986 warn javascript.0 (970) at Object.next (script.js.NSPanels.NSPanel_Wohnzimmer:14:53) 10:09:29.986 warn javascript.0 (970) at script.js.NSPanels.NSPanel_Wohnzimmer:8:71 10:09:29.987 warn javascript.0 (970) at __awaiter (script.js.NSPanels.NSPanel_Wohnzimmer:4:12) 10:09:29.988 warn javascript.0 (970) at Object.<anonymous> (script.js.NSPanels.NSPanel_Wohnzimmer:3349:12) 10:09:29.991 warn javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: function GenerateQRPage: Cannot read properties of null (reading 'split') 10:09:29.992 warn javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: function SendToPanel: Cannot read properties of undefined (reading 'payload') 10:09:36.312 warn javascript.0 (970) at GenerateQRPage (script.js.NSPanels.NSPanel_Wohnzimmer:5302:67) 10:09:36.313 warn javascript.0 (970) at GeneratePage (script.js.NSPanels.NSPanel_Wohnzimmer:3495:29) 10:09:36.313 warn javascript.0 (970) at HandleMessage (script.js.NSPanels.NSPanel_Wohnzimmer:3416:21) 10:09:36.313 warn javascript.0 (970) at Object.<anonymous> (script.js.NSPanels.NSPanel_Wohnzimmer:3357:25) 10:09:36.314 warn javascript.0 (970) at step (script.js.NSPanels.NSPanel_Wohnzimmer:33:23) 10:09:36.314 warn javascript.0 (970) at Object.next (script.js.NSPanels.NSPanel_Wohnzimmer:14:53) 10:09:36.314 warn javascript.0 (970) at script.js.NSPanels.NSPanel_Wohnzimmer:8:71 10:09:36.314 warn javascript.0 (970) at __awaiter (script.js.NSPanels.NSPanel_Wohnzimmer:4:12) 10:09:36.315 warn javascript.0 (970) at Object.<anonymous> (script.js.NSPanels.NSPanel_Wohnzimmer:3349:12) 10:09:36.316 warn javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: function GenerateQRPage: Cannot read properties of null (reading 'split') 10:09:36.316 warn javascript.0 (970) script.js.NSPanels.NSPanel_Wohnzimmer: function SendToPanel: Cannot read properties of undefined (reading 'payload')
Das wäre der angelegte Datenpunkt. ist der so ok?
{ "common": { "name": "WIFI:T:WPA;S:Gastzugang;P:47110815;H:;", "desc": "Manuell erzeugt", "role": "state", "type": "string", "read": true, "write": true, "def": "" }, "type": "state", "native": {}, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1676681985024, "_id": "0_userdata.0.WIFI:T:WPA_S:Gastzugang_P:47110815_H:_"
-
nein
Nicht der Name des Datenpunktes muss so heißen, sondern der Inhalt.
Lege dir mal einen Datenpunkt (string) unter 0_userdata an. Name GuestWifi oder ähnlich.
Da kommt dann der Inhalt WIFI:T:WPA..... rein
Auf den DP GuestWifi legst du dann den Info Alias und trägst diesen ALIAS in den PageItem ein
-
Ich habe den Wert jetzt hinten eingetragen.
Alias aus diesem Datenpunkt erstellt und den Alias im Skript eingefügt.
läuft leider immer noch nicht
-
Wie sieht denn der ALIAS vom Gerätetyp Info im Geräte-Manager dazu aus?
-
Muss bei fx noch was rein?
-
nein, aber du solltest auch kein "ä" im Namen verwenden
Der alias.0.NSPanel_Geräte.Wlan
muss dann im PageItem der Seitendefinition stehen
-
Dann fällt mir auf, dass du einen Datenpunkt unter:
0_userdata.0.NSPanel.GuestWifi
erstellt hast, aber
0_userdata.0.GuestWifi
im Alias verwendest. Der Datenpunkt existiert doch auch nicht... Nimm doch den Stift hinten zum auswählen...
-
@armilar
Puh was ein durcheinander. Danke jetzt geht es!Und sorry wenn ich mich so doof anstelle
-
Puh was ein durcheinander. Danke jetzt geht es!
Und sorry wenn ich mich so doof anstelleMan wächst mit den neuen Herausforderungen.
Ich war auch mal der neue
Weiterhin viel Spaß mit dem NSPanel und bei Problemen gerne Fragen