Unterstützung von FLOAT Profilen mit extrem großem Wertebereich

Hi,

ich versuche gerade ein Modul für ein Gerät zu bauen, das auch Statusvariablen vom Typ Float hat. Leider haben die den extrem großen Einstellbereich von -3.0e38…3.0e38.

Die entsprechenden Profile lassen sich zwar anlegen:

aber nicht mehr bedienen.

Im WebFront sieht das Eingabeelement so aus:

und der Graph so:

Die iOS-App stürzt bei der Anwahl sogar ab.

Wie geht man damit am besten um?

Burkhard

Um was für ein Gerät handelt es sich denn, dass der Wert so genau eingestellt werden muss? Nur weil der Wertebereich so groß ist heißt das ja nicht zwingend, dass dies dann auch unbedingt sinnvoll ist das im kleinsten Detail einstellen zu können. In sofern würde ich abhängig vom Anwendungszweck und dem Gerät einfach die Schrittweite ändern. Ein Wertebereich kann ja auch z.B. von -1000000 bis 1000000 gehen , in den seltensten Fällen will man dann das aber auf 1 oder 10 genau einstellen, sondern wählt dann halt eher eine Schrittweite von 1000 oder 10000.

Es ist ein Modul zur Unterstützung von eBUS basierten Heizungsanlagen. Leider habe ich bei reinen Float Werten nur die Information über den Wertebereich -3.0e38 bis 3.0e38 (https://github.com/john30/ebusd/wiki/4.3.-Builtin-data-types). Den muss ich erst einmal annehmen.

Der Anwender kann sich natürlich nachher das Profil anpassen.

Hi bumaas,

das Problem kenne ich - selbst bei schon kleineren Bereichen kann man das nicht mehr sinnvoll ansteuern.

Ich habe mir für meine Aufgabe ein „eigenes“ Profil mit Steuerung gebaut, dabei muss/kann der Nutzer jede Stelle der Zahl einzeln hoch/runter zählen und sich so die gewünschte Zahl wirklich schnell Zusammenbauen. Also bei uns in der Familie funktioniert es wunderbahr. Vielleicht ist das ja ein Denkanstoß für Dich!

Hier mal die Bilder dazu zur Veranschaulichung:

  1. Genug Platz vorhanden:

  1. Auswahl über Popup:

Profil-Popup.jpgProfil-Popup-Auswahl.jpg

Gruß Heiko

Bei so großen Wertebereichen denke ich immer an logarithmische Skalen.

Ansonsten: Vielleicht machst du zwei Eingabeelemente, um Zahl und Exponent einzeln einstellen zu können? Die Details der Bedienung ergeben sich wahrscheinlich, wenn man die real genutzen Werte sieht.

Danke für eure Ideen!

Die Beispiele zeigen, dass das heutige IPS Standardeingabeelement bei einer hohen Auflösung (Wertebereich und Nachkommastellen) nicht praktisch bedient werden kann. Ab einer Auflösung von 1000 kann der einzelne Wert nicht mehr vernünftig ausgewählt werden.

Bei extrem hohen Auflösungswerten macht dann auch die Darstellung Probleme.

Ich würde mir vielleicht die Möglichkeit einer direkten Werteeingabe wünschen, verbunden mit einer Exponentialschreibweise ab 1,0e6 (1.000.000)

Ist doch gar kein Problem!
Nehm ein Textfeld und lese das via Event bei Änderung aus. Aus dem String solltest du dir problemlos diene Variable mit entsprechender Genauigkeit ableiten können.
floatval($string)