Werte von Konfigurationsfunktion SelectLocation kann nicht gelöscht werden

Wenn man in einem Konfigurationsmodul eine SelectLocation verwendet, ist es unmöglich diesen Wert zu löschen.

Eine frisch initialisiertes Property ist leer, dargestellt wird 0, 0.
Wenn man nun einen Wert einsetzt, gibt es ja eine json-Struktur mit longitude und latitude.
Es gibt keine Schalter zum löschen (sonst gibt es ja diese x im Kreis).
Also habe ich den Inhalt gelöscht (alles im Eingabefeld markiert und löschen) kommt diese Meldung

und IPS stürzt ab (IP-Symcon 6.0, Ubuntu (amd64), 28.08.2021, 883beea87a99).

Wenn ich dort 0, 0 eingebe, steht im Property `{„latitude“:0,„longitude“:0}.

Ist natürlich handlebar, aber nicht ganz konsistent.

demel

Ich habe die Frage mal in den Entwicklerbereich verschoben.

In SelectLocation sollte eigentlich immer etwas stehen, im Zweifelsfall halt 0, 0. Der beschriebene Fehler sollte natürlich abgefangen werden und IPS nicht crashen, da kümmere ich mich drum. Ich würde dir auch empfehlen die Eigenschaft mit {„latitude“:0,„longitude“:0} zu initialisieren, sonst kann man darüber stolpern, dass die Felder gar nicht gesetzt sein könnten.

Was ist deine Motivation, dass du den Eintrag dort löschen willst?

ups, war ich im falschen Forum …

Ich habe es in dem Modul (OpenWeatherMap) so, das ich, wenn nichts angegeben ist, mir die Position aus der Location-Instanz hole.
Und bei dem testen ist mir das einfach aufgefallen, erstmal der unerwartet Rums und dann habe ich etwas „gespielt“:

Natürlich kann man (und so mache ich es jetzt auch) auf die Koordinaten 0, 0 prüfen.

Ich bin eigentliche ein Anhänger von NULL-Values für die Fälle, wenn man keine Information hat, aber das ist ja durchgehend im IPS (sicherlich aus historischen Gründen) nicht so. Wir hatten ja neulich das Thema bei SelectCategory :wink:

Wie gesagt, kein Problem damit so umzugehen, wie beschrieben; dann würde es eventuell sinnvoll sein, in der Beschreibung sowohl aufzunehmen, das diese Variablen initialisiert werden sollten als auch was der Rückgabewert ist.

demel