klein0r / ioBroker.awtrix-light

Integrate your Awtrix Light device (e.g. Ulanzi TC001) via HTTP
https://haus-automatisierung.com
MIT License
62 stars 4 forks source link

invalid JsonConfig #91

Open tommyMX opened 10 months ago

tommyMX commented 10 months ago

The problem

awtrix-light has an invalid jsonConfig: [{"instancePath":"/items/_customApps/items/foreignSettingsInstance","schemaPath":"#/patternProperties/%5E.%2B/allOf/33/then/additionalProperties","keyword":"additionalProperties","params":{"additionalProperty":"allowDeactivate"},"message":"must NOT have additional properties"},{"instancePath":"/items/_customApps","schemaPath":"#/properties/items/patternProperties/%5E.%2B/allOf/8/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"}]

Version of nodejs

18.18.2

Version of ioBroker js-controller

5.0.12

Version of Adapter

6.12.0

Version of awtrix-light firmware

0.10

Operating system running ioBroker

Synology.

Checklist of files to include below

Additional information & file uploads

No response

github-actions[bot] commented 10 months ago

Thanks for reporting a new issue @tommyMX!

  1. Please make sure your topic is not covered in the documentation
  2. Ensure that you use the latest beta version (not the current stable version): 0.10.0
  3. Please attach all necessary log files (in debug mode!), screenshots and other information to reproduce this issue
  4. Search for the issue topic in other/closed issues to avoid duplicates!

    Otherwise this issue will be closed.

tommyMX commented 10 months ago

Ich kann dann keine Änderungen mehr abspeichern, wenn ich eine erstellte APP ändere. Der Speichern Button ist rot umramt dann...

siehe Bild....

Bildschirmfoto 2023-11-10 um 23 51 00
klein0r commented 10 months ago

Ich kann dann keine Änderungen mehr abspeichern, wenn ich eine erstellte APP ändere.

Zeig mal wie die App konfiguriert ist. Doku hast Du gelesen?

klein0r commented 10 months ago

Das Schema ist an vielen Stellen leider noch unvollständig. Das heißt, dass es angeblich Fehler gibt, aber die Infos einfach nur im Schema fehlen...

tommyMX commented 10 months ago

japp doku gelesen :-)

Aber sobald ich was ändere in der App kann ich nicht speichern und hab immer diesen roten Rahmen drum herum....habs jetzt auch mit Chrome browser probiert, da war der cache auch noch leer aber das selbe.

Bildschirmfoto 2023-11-11 um 09 22 55
tommyMX commented 10 months ago

hab jetzt noch eine Test app gemacht egal ob ich dann Regenbogenfarben aktiviere oder nicht, ich darf nicht abspeichern...

Bildschirmfoto 2023-11-11 um 11 52 27 Bildschirmfoto 2023-11-11 um 11 52 19
tommyMX commented 10 months ago

also meine Vermutung ist, dass wen ich erneut reingehe um Änderungen zu machen dass er denkt dass das Obejekt nicht existiert mehr, ich habe das Objekt dann neu ausgewählt dann konnte ich wieder speichern.

glaub da ist echt ein bug drin :-(

Nutze Safari und Chrome

klein0r commented 10 months ago

Kannst Du das reproduzieren? Am Ende wird der Dialog und die Komponenten ja komplett vom Admin-Adapter verwaltet. Der Adapter hat da nix mit zu tun. Welche Admin-Version hast Du im Einsatz?

tommyMX commented 10 months ago

6.12.0 hab ich im Einsatz...

ja das kann ich jederzeit reproduzieren, so ist die APP gerade konfiguriert:

Bildschirmfoto 2023-11-13 um 08 29 22

Wenn ich jetzt einen Haken bei Regenbogenfarben Text mache kann ich immer noch nicht speichern:

Bildschirmfoto 2023-11-13 um 08 29 34

erst wenn ich den DP bei Objekt auslösche und neu auswähle oder STRG+X und dann wieder STRG+V darf ich dann abspeichern.

tommyMX commented 10 months ago

ich seh grad dass in der 6.12.2 ein Fix auch von dir dabei war. sowie ein Fix issue config und schema. Aber die 6.12.2 ist noch nicht im Stable oder ? müsste sie manuell installieren..?

klein0r commented 10 months ago

Was heißt "manuell"? Jede Installation ist manuell, automatische Updates gibts ja in der Form nicht. Aber bitte immer über Repository und nie über GitHub-Urls installieren...

Denke nicht dass die 6.12.2 das Verhalten ändert.

tommyMX commented 10 months ago

ja hatte das repository auf beta geändert und dann direkt unter admin auf update geklickt..

ja das verhalten hat sich nicht geändert leider ....und bin wohl der einzige der das Problem hat ? :-( Aber scheinbar denkt er wenn ich etwas in einer custom app ändern will, dass kein DP beim Objekt mehr vorhanden ist obwohl in der Zeile eines drin steht.

tommyMX commented 10 months ago

kannst du das bei dir also nicht reproduzieren?

mcm1957 commented 10 months ago

@klein0r

Wenn irgendeine Feld einen Fehler aufreißt zeigt den die jsonConfig manchmal nicht wirklich gut erkennbar an. Beispiel:

image

Wenn ich nun das Custom Panel komprimiere / einklappe seh ich vom Fehler nichts mehr.

Keine Ahnung wie das besser ginge. Ev. sollte der Header da ne Fehlermarkierung anzeigen., Da du die Komponente eh selbst geschrieben hast weißt du was da ( mit vernünftigem Aufwand) ginge. Für Nutzer ist es unklar, dass das Speichern auch durch Fehler auf anderen Tabs . und ort ev. sogar versteckt - ausgelöst werden kann ...

klein0r commented 10 months ago

Da du die Komponente eh selbst geschrieben hast weißt du was da ( mit vernünftigem Aufwand) ginge.

Da müsste ich mich mal tiefer in die Validation der JSONcomponents einarbeiten, weil damit habe ich nichts gemacht und es funktioniert direkt automatisch. Dass man feststellen muss, ob eine Komponete innerhalb einer anderen Komponente eventuell ungültig ist, gab es ja noch nirgendwo bisher.

Das passiert ja bei Tabs z.B. auch nicht. Da würde man es genauso wenig sehen, wenn in einem anderen Tab aktuell ein Fehler vorliegt.

tommyMX commented 10 months ago

Nein mein Problem ist anders.... man hat eine custom App erstellt, alles abgespeichert und geschlossen. Dann geht man erneut rein, weil man etwas ändern möchte z.b. Text in Regenbogenfarben, ich klicke es an und habe unten immer noch einen roten Rahmen um den Abspeichern Button. Erst wenn ich bei Objekt es rauslösche neu auswähle oder den Inhalt ausschneide und dann wieder einfüge, erscheint der Speichern button als aktiv.

mcm1957 commented 10 months ago

Jep - bei Tabs wärs auch schön oben einen Marker zu sehen :-) Alternative wär bei den Blöcken ev , dass man diese im Fehlerfall nicht komprimieren kann.

Das geht jetzt aber eher schon in Richtung Feature Issue von jsonConfig. Ev. schreib ich dort mal eins und mention dich...

mcm1957 commented 10 months ago

https://github.com/ioBroker/ioBroker.admin/issues/2217

tommyMX commented 10 months ago

Könnt ihr meinen Fehler nicht reproduzieren? :-/

klein0r commented 10 months ago

Könnt ihr meinen Fehler nicht reproduzieren? :-/

Ich hab es bisher nichtmal versucht, das Thema hat hier für mich gerade keine Prio... Momentan arbeite ich Mails und Kommentare ab. Danach muss ich mal etwas machen, was den Kontostand positiv beeinflusst.

tommyMX commented 10 months ago

Ok

pancetta commented 10 months ago

Hallo zusammen, bei mir trat das gleiche Problem (invalid JSON) auf und es ging weg, als ich statt der IP-Adresse den Netzwerk-Namen des Geräts (in der Form awtrix-xxxxxx) eingetragen habe. Gespeichert, danach wurde die Instanz grün. Ich bin nicht sicher, ob das das Problem des Fragestellers war, aber zumindest bei mir hat vorher schlicht gar nicts funktioniert. Jetzt läuft es.

klein0r commented 9 months ago

Hallo zusammen, bei mir trat das gleiche Problem (invalid JSON) auf und es ging weg

Das ist nur ein Hinweis - kein Fehler. Die Config ist gültig (sonst würde ja gar nix im Admin angezeigt).

pancetta commented 9 months ago

Ja, guter Punkt. Spaßigerweise startete die Instanz aber erst gar nicht, erst nach dem Eintragen des Netzwerknamens lief es. Aber das ist vermutlich in der Tat ein anderes Problem gewesen.

klein0r commented 9 months ago

Ja, guter Punkt. Spaßigerweise startete die Instanz aber erst gar nicht, erst nach dem Eintragen des Netzwerknamens lief es.

Logisch, warum sollte die Instanz auch starten und laufen, wenn es gar nicht funktionieren kann?

Fontheweg commented 8 months ago

evtl. nett2know: ich hatte den selben Fehler. Gefühlt ist er mit irgendeinem Update gekommen. hatte ständig die Fehler in den Logs ...

Nach dem Post hier habe ich mir alle Einstellungen der Apps angesehen. Bei einigen hatte ich eine Standardschriftfarbe drin, bei anderen auch die Hintergrundfarbe. Mal die Scrollgeschwindigkeit mal alles nicht. Da ich die Parameter nicht nutze habe ich sie in allen Apps gelöscht >>> und konnte plötzlich nicht mehr speichern. Ich habe dann angefangen die Parameter wieder einzusetzen. Mit ein wenig Probieren ist es bei mir so, das eine App unbedingt den Parameter Scrollgeschwindigkeit haben möchte, damit konnte ich wieder speichern. Ich habe nun bei allen Apps die Scrollgeschwindigkeit 0 (Standard) eingetragen. Nach dem Durchstarten des Adapters ist der Fehler im Log weg und alles läuft wie es soll.

admin 6.12.0 awtrix 0.10.0 npm 8.19.4 node 16.20.2

Fontheweg commented 8 months ago

Ich hatte ja vor 2 Wochen gepostet woran es evtl. liegt - nein liegt es nicht :| In der Zwischenzeit ist eine 2. Anzeige mit einem zweiten Adapter hinzugekommen. Jetzt haben beide den Fehler :(

klein0r commented 8 months ago

Ich hatte ja vor 2 Wochen gepostet woran es evtl. liegt - nein liegt es nicht :|

Es liegt am unvollständigen Schema. Mehr nicht. Du kannst das nicht beheben! Außer, Du passt das Schema an: https://github.com/ioBroker/adapter-react-v5/blob/main/schemas/jsonConfig.json

Bitte die Meldung einfach ignorieren... das ist kein Problem. Nur ein Hinweis. Die Config ist gültig und funktioniert genau so wie sie sie ist.

mcm1957 commented 6 months ago

created issue https://github.com/ioBroker/adapter-react-v5/issues/308

Withput issue its unlikely that the bug ist fixed :-)

conectas commented 5 months ago

Könnt ihr meinen Fehler nicht reproduzieren? :-/

Doch kann ich.

klein0r commented 5 months ago

Doch kann ich.

Welchen Fehler?

conectas commented 5 months ago

Doch kann ich. Welchen Fehler?

Den Fehler von tommyMX. "Ich kann dann keine Änderungen mehr abspeichern, wenn ich eine erstellte APP ändere. Der Speichern Button ist rot umramt dann..."

--//-- Irgendwelche Fehlermeldungen im log

awtrix-light has an invalid jsonConfig: [ { "instancePath": "/items/_customApps/items/customApps/items/16/data", "schemaPath": "#/items/allOf/2/then/properties/data/type", "keyword": "type", "params": { "type": "object" }, "message": "must be object" }, { "instancePath": "/items/_customApps/items/customApps", "schemaPath": "#/patternProperties/%5E.%2B/allOf/42/if", "keyword": "if", "params": { "failingKeyword": "then" }, "message": "must match \"then\" schema" }, { "instancePath": "/items/_customApps", "schemaPath": "#/properties/items/patternProperties/%5E.%2B/allOf/8/if", "keyword": "if", "params": { "failingKeyword": "then" }, "message": "must match \"then\" schema" }, { "instancePath": "", "schemaPath": "#/if", "keyword": "if", "params": { "failingKeyword": "then" }, "message": "must match \"then\" schema" } ]

--//-- Momentan geht bei mir nicht mal Update (was NICHTs mit dem Adapter zu tun hat).

klein0r commented 5 months ago

"Ich kann dann keine Änderungen mehr abspeichern, wenn ich eine erstellte APP ändere.

Mit welcher Admin-Version passiert das genau? Konnte das bisher nicht reproduzieren.

conectas commented 5 months ago

Vorwort: Ich bin hier (bei diesem Projekt) wahrscheinlich ein schlechter Beta Tester, weil ich habe dein Projekt einfach "nur" benutzt. Mich nervte das AWTRIX Updates des nicht gehen. (Auf die Idee am Gerät selbst Update durchzuführen.. da müsste man ja aufstehen, EDVer sind faul.) ioBroker war stand 16.02.2024, also Update ich mal alles was so geht, dein Adapter war auch dabei.. aber nach dem Update war das Problem nicht gelöst, also mal schnell in die Einstellungen geschaut. Und nur durch Zufall das Problem gesehen. Mich an deine mahnenden Worte erinnert und ab mal in die Issues.

--//--

Mit welcher Admin-Version passiert das genau? Konnte das bisher nicht reproduzieren.

ist Stand: 6.13.16

ab wann? Backups helfen da jetzt nicht weiter (14 Tage), ich hätte noch Proxmox Snapshots vom 20240216 und 20231229, aber ehrlich gesagt würde ich nur ungern auf die wechseln wollen (es ist mein Primär System, kein Test System)


js-controller: 5.0.19 Node.js: v18.17.1

conectas commented 5 months ago

Info Update: 1a Reproduzierbar

Mein "Spiel" System, der ist fast "neu" Admin: 6.13.16 Awtrix 3: 0.16.0 / Awtrix "BIOS" 0.94

--//-- BackItUp / DENON AVR / E-Charts / Einfache RESTful API / Gerätesuche / History / jarvis / MQTT Broker/Client / javascript / socket.io / WEB-Server

--//-- Awtrix "BIOS" 0.94 ich versuche mal "händisch" auf die 0.96 zu kommen.

Info Update 02: jetzt 0.96 ändert nix.

klein0r commented 5 months ago

Admin: 6.13.16

Oh, stable ist ja echt weit hinterher. Beta ist ja schon 6.17.2 Kannst Du es damit auch reproduzieren? Würde ungern nach Fehlern suchen, welche in der aktuellen Version längst gelöst sind.

mcm1957 commented 5 months ago

Ev https://github.com/ioBroker/ioBroker.admin/issues/2340 kann grad nicht schaun ab wann gefixed ...

conectas commented 5 months ago

Verfügbare Version: 1.0.0 Installiert, Problem besteht

Beta ist ja schon 6.17.2

laut git nicht ,-)

master, custom und typescript -> alle Tags auf v1

mcm1957 commented 5 months ago

Verfügbare Version: 1.0.0 Installiert, Problem besteht

Beta ist ja schon 6.17.2

des ADMIN Adapters.

conectas commented 5 months ago

des ADMIN Adapters.

Okay hätte man selbst darauf kommen können, Asche auf mein Haupt.

Jetzt mal richtig (v6.17.2/v1.0.0):

1.) a) Irritierend ist wenn "App-Einstellungen kopieren von" ausgewählt ist und App-Einstellungen kopieren von awtrix-light, das es zu dieser Meldung kommt. b) Bei "App-Einstellungen kopieren von" -> Auswahl: kein, verschwindet

1a) was aber korrekt sein sollte, er möchte sich nicht .self kopieren, ist wohl wenn man mehrere awtrix hat.

--//-- Reproduzierbar:

-> haben jetzt den Effekt, das jedes öffnen der Instanzeinstellungen (siehe Bild git03.png) den "Fehler" erzeugt, der an sich keiner ist, weil "custom" ja ein Fehler hat. (man sieht Ihn nur nicht mehr)

Der Fehler ist, wenn ich es mal so sagen darf, das wenn "customb" korrekte Daten hat, aber "custom" nicht, trotzdem der Save Button scharf wird und sich "ungültige" Daten auch speichern lassen.

-> Der Speichern Fehler ist konsistent -> History Apps Dito.

puuh, das ganze nur 2h später.. Das ganze hat also nichts mit Versionen zu tun. Ist wahrscheinlich nur noch nie aufgefallen. (admin v6.13.16 // Awtrix 3 v0.16)

git03
conectas commented 5 months ago

Nachtrag: Fatal.. Doof ist eher das selbst wenn man die "Apps" löscht (einzeln oder einfach mal alle) das das keine Hilfe bringt. (siehe Bild git04.png).

Sondern man muss erst "custom" gültige Werte geben, dann löschen.

git04
ETGermany commented 4 months ago

Habe seit ein paar Tagen mit der Ulanzi-Uhr und dem Awtrix-Adapter angefangen, die Warnung vom Admin-Adapter kommt noch immer (ist ja der Titel vom issue):

AWTRIX WARNING neu

Habe die letzte Version vom Admin-Adapter installiert:

AdminNeu
mcm1957 commented 4 months ago

In dem Issue sind 2 Fehler vermischt. https://github.com/klein0r/ioBroker.awtrix-light/issues/91#issuecomment-1806535352 beschreibt dass Abspeichern nict möglich ist. Das sollte wie in einem anderen Kommentar angegeben bereits behoben sein,

Die im Eröffnungsposting angegebene Fehlermeldung "allowDesctivate invalid" wird mit issue https://github.com/ioBroker/adapter-react-v5/issues/308 behandelt. Das Issue ist offen, diese Fehlermeldung kann daher nach wie vor auftreten kann aber ignoriert werden. Nach der Behebung verschwindet die Fehlermeldung ohne Update von admin oder dem Adapter.

Was du hier https://github.com/klein0r/ioBroker.awtrix-light/issues/91#issuecomment-2070016650 loggst ist eine andere Fehlermeldung (auch wenn sie ähnlich aussieht). Diese Fehlermeldung sieht nach einem (weiteren Fehler im Schema aus. Da ich dazu kein passendes Issue finden konnte, sollter der Maintainer ein solches eröffnen damit das Schema angepasst werden kann.

klein0r commented 4 months ago

die Warnung vom Admin-Adapter kommt noch immer

Ja, ist aber kein Problem. Daher ja auch mein Wunsch, die Validierung im Admin komplett zu entfernen. https://github.com/ioBroker/ioBroker.admin/issues/2421

mcm1957 commented 4 months ago

Gibt es zu dieser Fehlermeldung

AWTRIX WARNING neu

ein passendes Issue bei REACT-V5. Konnte da nichts dazu finden. Ev. liegt ja doch ein Fehler in der jsonConfig vor. Ansonsten bitte das entsprechende React V5 Issue hier verlinken. Ohne Issue wird ein allfällige Fehler im Prüfschema sicher nicht behoben.

sansonifabio commented 2 weeks ago

.. ich wollte mal nachfragen ob es Fortschritte zu dieser Warnung gibt? Herzliche Grüße Fabio

admin.0 2024-08-30 20:17:24.159 warn awtrix-light has an invalid jsonConfig: [{"instancePath":"/items/_customApps/items/customApps/items/16/data","schemaPath":"#/items/allOf/2/then/properties/data/type","keyword":"type","params":{"type":"object"},"message":"must be object"},{"instancePath":"/items/_customApps/items/customApps","schemaPath":"#/patternProperties/%5E.%2B/allOf/46/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"},{"instancePath":"/items/_customApps","schemaPath":"#/properties/items/patternProperties/%5E.%2B/allOf/8/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"},{"instancePath":"","schemaPath":"#/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"}]
mcm1957 commented 1 week ago

Gibt es zu dieser Fehlermeldung ein passendes Issue bei REACT-V5?

Ev. liegt ja doch ein Fehler in der jsonConfig vor. Ansonsten bitte das entsprechende React V5 Issue hier verlinken. Ohne Issue wird ein allfällige Fehler im Prüfschema sicher nicht behoben.