-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Numerische Werte werden von Geräten in Jarvis nur noch als string weitergegeben #885
Comments
Versuch Mal den Key des JSON ohne Anführungszeichen |
|
Hatte ich als aller erstes versucht, ohne Erfolg. Zur Sicherheit hatte ich auch sämtliche Offline-Browser-Speicher für die Jarvis Oberfläche gelöscht (nur für den Fall, dass die Oberfläche die Änderung noch nicht hat), auch ohne Erfolg. |
Nachtrag zu Jason ohne Anführungszeichen: Wenn ich den Editor der GUI verwende und die Anführungszeichen für den Wert weg lasse, sind sie nach dem Speichern wieder da (wahrscheinlich dank der Syntaxkorrektur des Editors). Ich könnte nachher versuchen die Anführungszeichen direkt im Geräte JSON weg zu lassen - hätte aber zur Folge, dass ich nie wieder den Editor verwenden kann. |
Das ginge auch, aber wäre ein Workaround. Unter'm Strich ein Bug, den ich beheben werde. |
Die Idee nur JSON zu verwenden und auf den Editor zu verzichten, oder dem "value" mitzugeben, dass er "number" sein soll?
👍🏻 Vielen Dank im Voraus schon einmal. |
Der |
prüf bitte nochmal mit |
Auch in der -51 verhält es sich leider falsch. Es ist auch egal ob ich als Objekt eine Szene, den Datenpunkt des homee device, oder z.B. den Datenpunkt von einem Shelly nehme. Wenn number erwartet wird, liefert Jarvis nur String und der Wert wird nicht gesetzt. (Ja, iobroker und Adapter hatte ich neu gestartet und auch geprüft ob wirklich die -51 installiert ist) Wenn ich als Datenpunkt ein Alias-Decice nehme, dann wird mir z.B. für value.teperature der Wert erfolgreich gesetzt. Anscheinend ist der Alias Adapter nicht so wählerrisch und übergibt den Wert an das homee Objekt als number. Dies wäre jetzt auch mein Workarround, allerdings mit der Einschränkung, dass ich keine zwei Geräte gleichzeitig steuern kann (insofern nicht optimal, da in einigen Räumen mehr als ein Heizkörper ist und viele Lampen mehr als ein Leuchtmittel besitzen). |
Nach dem Update auf v3.0.0-alpha.54 ist der Fehler behoben. |
Hi,
ich verwende die Version v3.0.0-alpha.50
Geräte geben ihre Werte nur noch als String weiter, auch wenn es sich um Nummern handelt.
Einzige Ausnahme: LevelBody
Konkret geht es bei mir um DropdownAction mit der Anzeigevariante
{"8":"8 °C","9":"9 °C","10":"10 °C","11":"11 °C","12":"12 °C","13":"13 °C","14":"14 °C","15":"15 °C","16":"16 °C","17":"17 °C","18":"18 °C","19":"19 °C","20":"20 °C","21":"21 °C","22":"22 °C","23":"23 °C","24":"24 °C","25":"25 °C","26":"26 °C","27":"27 °C","28":"28 °C"}
Der Datenpunkt ist eine ioBroker Szene als virtuelle Gruppe, die den Wert einfach nur an das eigentliche Objekt homee.2.RadiatorThermostat-193.TargetTemperature-219 weiterreicht.
Sowohl die Szene, als auch das homee Objekt erwarten einen Wert vom Typ "number".
Auch wenn ich auf die Szene verzichte und direkt das homee Objekt als Datenpunkt im Jarvis Gerät einbinde, wird mir über das Drop-Down ein "string" and den Datenpunkt geschickt, kein numerischer Wert.
Nur wenn ich als Dropdown-Alternative LevelBody verwende, bekommt der Datenpunkt seinen Zahlenwert auch wirklich als "number" geliefter.
Für die Auswahl der Temperatur könnte ich erst einmal damit leben, allderdings nicht für z.B. die Einstellung des Heizmodus meines Thermostats, denn hier sieht die Anzeigevariante wie folgt aus
{"0":"Aus","1":"Normal","2":"Energiesparend","3":"Boost","4":"Manuell"}
Würde ich für die Heizmodi als Datenpunkt Eigenschaft
{"min":0,"max":4}
angeben und "LevelBody" verwenden, könnte ich zwar die Heizmodi wieder einstellen, hätte allerdings nur noch die Werte 0-4 zur Auswahl und wüsste nicht wofür diese stehen (ok, ich weiss es schon, meine Frau und Kinder aber nicht).
Falls es gewollt ist, dass alle Werte nur noch als "string" übergeben werden, wäre meine Frage:
Wie kann ich dem Datenpunkt mit auf den Weg geben, dass er "number" anstelle von "string" übergeben soll?
In der v3.0.0-alpha.39 bestand der Fehler noch nicht.
Betroffen sind bei mir alle 14 Heizungsthermostate und weitere 30 Geräte bei denen ich entweder DropDown oder Input verwende um Zahlenwerte an das jeweilie iobroper-Objekt weiterzugeben.
Betroffen sind ebenfalls alle Datenpunkte die nur einen Wert als Zahl an das Objekt weitergeben sollen, aber dies konnte ich dank diverser Szenen umgehen, die jeweils für True eine Zahl an das eigentliche Objekt weiter geben.
Sollte es ein Bug sein, hätte ich im Zuge der Überarbeitung auch gleich noch einen Feature-Vorschlag:
Könnte man eventuell für jeden einzelen Datenpunkt auswählen, was er übergeben soll (boolean, number, string, ...)? Gerne auch erst einmal nur im JSON und GUI später, damit es schneller verfügbar ist.
Mit "jeden" meine ich deshalb jeden, weil einige Adapter erstaunlicherweise in ihren Objekten nicht "bool" erwarten, sondern wie z.B. der Homee Adapter 1 oder 0 anstelle von true bzw false. Hier wäre es natürlich perfekt der SwitchAction mitgeben zu können, dass sie bitte 1 anstelle von true (bzw. 0 statt false) weitergeben soll.
Schon jetzt vielen Dank und Daumen hoch von mir für die tolle Arbeit an Jarvis!
The text was updated successfully, but these errors were encountered: