Ich habe eine Sensoren Liste die ich durch das Modul mit Leben fülle.
Frage 1:
Wenn ich die Liste in den „elements“ Bereich schiebe, kann ich keine Zeilen hinzufügen. Er zeigt nur den Header an, und das wars. Ist das normal? Der Code ist so ziemlich der Selbe, außer mit entsprechendem anderen Key in das json Array hinein. Wenn der Header kommt, sollte doch eigentlich auch der Inhalt kommen.
Frage 2:
Wenn ich die Liste im „actions“ Bereich erzeugt, funktioniert alles wie gewünscht. (Befindet sich aber sicherlich nicht im richtigen Bereich) Ich möchte nun über den MediaSelector ein Bild für den gefundenen Sensor auswählen. Wenn ich eins ausgewählt habe, wird der Bereich grau und ich kann nur noch übernehmen drücken.
Wenn ich das tue kommt, fehlendes Eigenschaft onSensoren nicht gefunden. Wie müsste ich denn nun vorgehen, um die Daten einzusammeln?
Wie steht es um ein Refresh der ConfigurationForm?
Im Actions bereich wäre es richtig, wenn du nichts von den Einträgen in der Liste speichern willst. Ich glaube du willst aber speichern oder? Trotzdem sollte keine Fehlermeldung kommen, sondern der Wert im OnClick verfügbar sein.
Ich will die Elemente über GetConfigurationForm in die Liste ziehen. Also über die Values.
Inzwischen habe ich das nochmal umgebaut, und die Liste direkt unter die erste gezogen.
Ich mach das ähnlich wie in deinem Beispiel… nur das ich halt n anderen Index habe, weil es ja schon die zweite Liste ist.
Das ist dein Beispiel
$data->elements[0]->values
ich mache
$data->elements[1]->values
Wenn ich meinen Index auf 0 setze, fügt er die Zeilen in die obere Tabelle (natürlich passe ich vorher die Keys an)
Bei 1 kommt gar nichts. Obwohl das JSON valid ist, und auch im Viewer auch alles richtig aussieht.
Ist zwischen beiden kein anderes Element mehr ?
Weil der Index beschreibt ja nicht direkt die Listen, sondern alle Elemente in der Form.
Du kannst das ganze JSON einfach zusätzlich in den Debug werfen, dann sieht man häufig wo der Fehler ist.
Michael
@Paresy: Meinste es wäre vllt. möglich eine json validator mit einzubauen? Ein Komma zu viel, und schon wird zwar die Instanz angezeigt, aber man bekommt Fehler wenn man die mit GetConfigurationForm verändern will. Eine Meldung ala „json invalid“ und vllt. der bösen Zeile wäre was tolles.
Und meinste es wäre möglich den SelectFile Typ noch etwas aufzubohren, so dass nicht das File als Base64 abgespeichert wird, sondern nur der Pfad? Wenn ich eine Grafik für das Webfront aussuchen will, liegt dies unter Umständen eh schon im /user Ordner. So brauch man nicht doppelt Speicherplatz verbraten, und mit der Anzeige wie groß ein File ist, kann man so aus der Ferne eh nix anfangen. Ein Pfad wäre da schon gefühlt informativer?!
Oder wollt ihr eh davon weg - wegen der Sicherheit?
Und wegen meines fehlenden RegisterProperty - sehe ich das richtig, dass man eh alle Elemente aus der Form registern muss? Dann könnte das ja fast automatisch erledigt werden - oder ne Meldung kommen, wenn man eins nicht hinzugefügt hat. Da ich an zwei Stellen etwas pflegen muss, habe ich mich gestern echt tot gesucht.
Deine Idee funktioniert leider nur „lokal“. Wenn du z.B. eine SymBox oder RPi hast, dann liegen die Dateien ja immer Remote… Deswegen laden wir gleich die Daten hoch, sobald du diese auswählst. Wenn du Medien auswählen willst, würde ich den User bitten diese als „Medien“ Objekt hinzuzufügen und dann verknüpfst du dies nur noch. Du hast auf jeden Fall Recht, dass man nicht unendlich Bilder hinzufügen sollte, da ansonsten die settings.json sehr groß wird.
Dort könnte ich mal eine bessere Validierung einbauen, sodass die Konsole direkt meckert, wenn du etwas nutzt das nicht vorhanden ist. Automatisch geht dies an dieser Stelle leider nicht.
Fix für das Problem kommt zur 4.3. Zusätzlich stürzt die Konsole auch nicht ab, wenn mehr Values als Spalten definiert sind (Edge Case: Es sind Values definiert, obwohl keine Spalten angegeben wurden)