Moin,
also so ganz möchte eurer [Beispielcode]( SymconTest/ListLoadValuesFromConfigurationTest at master · symcon/SymconTest · GitHub 3) aber nicht, oder ich verstehe es nicht.
Ich erstelle eine neue Instanz (letzte 7.2) List Test (LoadValuesFromConfiguration) und ohne etwas einzurichten sehen wir folgendes Bild
Soweit so gut. Ich nehme nun das erste Objekt, klicke auf das Zahnrad und wähle eine Variable aus
Bis hierin sieht es ja noch stimmig aus. Übernehme ich das nun kommt aber das
Man beachte im Hintergrund, das sich dort nichts geändert hat. Die Property wurde aber erstellt. Ich kann auch nicht löschen… Schließe ich das Fenster und öffne es wieder, sieht es so aus, wie vorher
Dann würde ich generell wissen, wie man folgende Situation umsetzen soll
Es gibt eine Liste, nehmen wir mal sowas
public static $Variables = [
// NSPACE POS PARENT IDENT RSCP TAG MQTT Topic Variablen Typ Var Profil Faktor ACTION KEEP
// EMS
['HEADER' ,100 , 0 ,'EMS' , '' , '' , '' , '' , 1 , false, false],
['EMS' ,101 ,100 ,'solar_power' , 'TAG_EMS_POWER_PV' , 'e3dc/solar/power' , VARIABLETYPE_FLOAT, 'RSCP.Power.W' , 1 , false, true],
['EMS' ,102 ,100 ,'battery_power' , 'TAG_EMS_POWER_BAT' , 'e3dc/battery/power' , VARIABLETYPE_FLOAT, 'RSCP.Power.W' , 1 , false, true],
['EMS' ,104 ,100 ,'home_power' , 'TAG_EMS_POWER_HOME' , 'e3dc/home/power' , VARIABLETYPE_FLOAT, 'RSCP.Power.W' , 1 , false, true],
];
Ich lade die Variable in die Form, der Nutzer sieht das, wählt an, was er behalten möchte übernimmt die Änderung und alles ist gut.
Nun füge ich einen Eintrag hinzu
public static $Variables = [
// NSPACE POS PARENT IDENT RSCP TAG MQTT Topic Variablen Typ Var Profil Faktor ACTION KEEP
// EMS
['HEADER' ,100 , 0 ,'EMS' , '' , '' , '' , '' , 1 , false, false],
['EMS' ,101 ,100 ,'solar_power' , 'TAG_EMS_POWER_PV' , 'e3dc/solar/power' , VARIABLETYPE_FLOAT, 'RSCP.Power.W' , 1 , false, true],
['EMS' ,102 ,100 ,'battery_power' , 'TAG_EMS_POWER_BAT' , 'e3dc/battery/power' , VARIABLETYPE_FLOAT, 'RSCP.Power.W' , 1 , false, true],
['EMS' ,103 ,100 ,'addon_power' , 'TAG_EMS_POWER_ADD' , 'e3dc/addon/power' , VARIABLETYPE_FLOAT, 'RSCP.Power.W' , -1 , false, true],
['EMS' ,104 ,100 ,'home_power' , 'TAG_EMS_POWER_HOME' , 'e3dc/home/power' , VARIABLETYPE_FLOAT, 'RSCP.Power.W' , 1 , false, true],
];
öffnet der Nutzer die Form, wird der neue Eintrag zwar angezeigt, aber nur rein optisch. Die Property wird nicht gespeichert.
Ich hätte erwartet, das wenn der Eintrag 103 dazukommt und der Nutzer das öffnet die Form feststellt, das die Variable 103 nicht exisitert und „Keep“ zwar auf true steht, aber aufgrund nichtexistenz der Nutzer ggf das Feld erhält „Es gibt noch ungespeicherte Änderungen in der Instanz“
Wie würde man das denn Korrekt handhaben?
Viele Grüße
P.S. Leider zu früh gespeichert, Änderungen kamen nach 