NEWS
neue Visualisierung "webui" (alternative zu vis & vis-2)
-
@jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):
@blockmove said in neue Visualisierung "webui" (alternative zu vis):
@jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):
@blockmove said in neue Visualisierung "webui" (alternative zu vis):
@jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):
Damit trit das Problem auf. Mit einem einzelnen Input für den DP funktioniert alles wie gewohnt.
versteh ich nicht, wieso macht es mit mehreren probleme?
Habs gerade versucht, dachte er ruft dann das changed durch die wertänderung auf, aber scheint das wird nur durch die UI getriggert, daher sollte es ja gehenUnd warum nur bei einem "+". Andere Rechenoperationen funktionieren.
kannst mir das in einen screen auf dem beisielserver packen? dann schau ich
Ich hab's mal versucht bei dir nachzustellen. Aber auf dem Testserver funktioniert.
Du hast aber noch 1.0.21 drauf. Ich hab auf meinen 2 Rechnern 1.0.22.Ergänzung: Hab jetzt auf einen Rechner zurück auf 1.0.21.
Damit lässt sich das Verhalten nicht mehr nachstellen. Also wie auf deinem Testserver.hab geupdatet, wie heißt der screen?
/blockmove/inputbinding -
@blockmove said in neue Visualisierung "webui" (alternative zu vis):
@jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):
@blockmove said in neue Visualisierung "webui" (alternative zu vis):
@jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):
@blockmove said in neue Visualisierung "webui" (alternative zu vis):
@jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):
Damit trit das Problem auf. Mit einem einzelnen Input für den DP funktioniert alles wie gewohnt.
versteh ich nicht, wieso macht es mit mehreren probleme?
Habs gerade versucht, dachte er ruft dann das changed durch die wertänderung auf, aber scheint das wird nur durch die UI getriggert, daher sollte es ja gehenUnd warum nur bei einem "+". Andere Rechenoperationen funktionieren.
kannst mir das in einen screen auf dem beisielserver packen? dann schau ich
Ich hab's mal versucht bei dir nachzustellen. Aber auf dem Testserver funktioniert.
Du hast aber noch 1.0.21 drauf. Ich hab auf meinen 2 Rechnern 1.0.22.Ergänzung: Hab jetzt auf einen Rechner zurück auf 1.0.21.
Damit lässt sich das Verhalten nicht mehr nachstellen. Also wie auf deinem Testserver.hab geupdatet, wie heißt der screen?
/blockmove/inputbindingokay, hab nen typo, baue gerade neues release
-
Mhm
hab das ja jetzt laufen mitlet obj = JSON.parse(__0); let graph = obj.graphs[0]; let result = []; for (let d of obj.graphs[0].data) { result.push([d.y, d.t])} return result;
wenn ich allerdings
result.push([d.y, formatDate(d.t , "DD MMM YYYY hh:mm")])}
mache dann bekomme ich wieder keiune anzeige beim javasript beokmme ich folgende RM
avascript.0 (1205) script.js.test.testscript_graph: [ [ 6.867, '21-01-2024 00:00' ], [ 5.783, '21-01-2024 01:00' ], [ 5.515, '21-01-2024 02:00' ], [ 5.089, '21-01-2024 03:00' ], [ 5.137, '21-01-2024 04:00' ], [ 5.501, '21-01-2024 05:00' ], [ 5.429, '21-01-2024 06:00' ], [ 6.005, '21-01-2024 07:00' ], [ 6.312, '21-01-2024 08:00' ], [ 5.876, '21-01-2024 09:00' ], [ 5.464, '21-01-2024 10:00' ], [ 5.307, '21-01-2024 11:00' ], [ 4.695, '21-01-2024 12:00' ], [ 4.66, '21-01-2024 13:00' ], [ 5.435, '21-01-2024 14:00' ], [ 6.474, '21-01-2024 15:00' ], [ 7.868, '21-01-2024 16:00' ], [ 8.198, '21-01-2024 17:00' ], [ 8.6, '21-01-2024 18:00' ], [ 8.216, '21-01-2024 19:00' ], [ 7.867, '21-01-2024 20:00' ], [ 6.409, '21-01-2024 21:00' ], [ 6.384, '21-01-2024 22:00' ], [ 5.868, '21-01-2024 23:00' ], [ 5.868, '22-01-2024 00:00' ] ]
kann es sein das das js chart die ' nicht mag ?
die bekomme ich aber nicht weg
und toLocaleString() geht ja nicht -
@smilie108 said in neue Visualisierung "webui" (alternative zu vis):
Mhm
hab das ja jetzt laufen mitlet obj = JSON.parse(__0); let graph = obj.graphs[0]; let result = []; for (let d of obj.graphs[0].data) { result.push([d.y, d.t])} return result;
wenn ich allerdings
result.push([d.y, formatDate(d.t , "DD MMM YYYY hh:mm")])}
mache dann bekomme ich wieder keiune anzeige beim javasript beokmme ich folgende RM
avascript.0 (1205) script.js.test.testscript_graph: [ [ 6.867, '21-01-2024 00:00' ], [ 5.783, '21-01-2024 01:00' ], [ 5.515, '21-01-2024 02:00' ], [ 5.089, '21-01-2024 03:00' ], [ 5.137, '21-01-2024 04:00' ], [ 5.501, '21-01-2024 05:00' ], [ 5.429, '21-01-2024 06:00' ], [ 6.005, '21-01-2024 07:00' ], [ 6.312, '21-01-2024 08:00' ], [ 5.876, '21-01-2024 09:00' ], [ 5.464, '21-01-2024 10:00' ], [ 5.307, '21-01-2024 11:00' ], [ 4.695, '21-01-2024 12:00' ], [ 4.66, '21-01-2024 13:00' ], [ 5.435, '21-01-2024 14:00' ], [ 6.474, '21-01-2024 15:00' ], [ 7.868, '21-01-2024 16:00' ], [ 8.198, '21-01-2024 17:00' ], [ 8.6, '21-01-2024 18:00' ], [ 8.216, '21-01-2024 19:00' ], [ 7.867, '21-01-2024 20:00' ], [ 6.409, '21-01-2024 21:00' ], [ 6.384, '21-01-2024 22:00' ], [ 5.868, '21-01-2024 23:00' ], [ 5.868, '22-01-2024 00:00' ] ]
kann es sein das das js chart die ' nicht mag ?
die bekomme ich aber nicht weg
und toLocaleString() geht ja nichtdie ' bedeuten in deiner ausgabe ja nur es sind strings... das waren aber vorher zahlen.
vlt. machst im frontend was falsch.
schreib in die formula "debugger;" rein dann kannst die auch durchsteppen -
äh, formatDate gibts im frontend nicht, das ist eine funktion vom javascript adapter
-
@jogibear9988
ah ok das würde bedeuten ich muss das im javascript aufbereiten in ein objekt schreiben und das dann binden ? probier ich gleich mal dann kannman den timestamp nicht on the fly umwandeln ? -
@smilie108 said in neue Visualisierung "webui" (alternative zu vis):
@jogibear9988
ah ok das würde bedeuten ich muss das im javascript aufbereiten in ein objekt schreiben und das dann binden ? probier ich gleich mal dann kannman den timestamp nicht on the fly umwandeln ?Zeit und Datumsfunktion gibt es in Javascript jede Menge.
Mit welchem Control willst du die Daten darstellen? In welcher Form erwartet es Zeit und Datum?
Als ts ist es einfach ne Zahl, Da kannst du dann evtl. die Zeitzonen-Funktionen brauchen und z.B. einfach den Offset zur UTC draufaddieren. -
@blockmove eigentlich dachte ich an das chart-js und in der zeitleiste eigentlich 21-01-2024 00:00 usw.
muss mich damit aber auch noch außeinandersezten da ich die color von den axen nicht geändert bekomme bzw auch würde ich gerne einheiten anfügen. mal sehen -
@smilie108 said in neue Visualisierung "webui" (alternative zu vis):
@blockmove eigentlich dachte ich an das chart-js und in der zeitleiste eigentlich 21-01-2024 00:00 usw.
muss mich damit aber auch noch außeinandersezten da ich die color von den axen nicht geändert bekomme bzw auch würde ich gerne einheiten anfügen. mal sehenDie chartjs webcomponente, ist nur ein ganz einfacher wrapper im moment. ChartJS kann viel mehr, was aber alles (noch) nicht in der Komponente ist....
https://github.com/node-projects/chart-js-webcomponent
Wenn da was erweitert willst, musst das aber selbst einbauen, komme da im Moment nicht dazu -
@jogibear9988
soll ich da einen fork machen ? oder soll ich das direkt erweiternn ? -
@smilie108 said in neue Visualisierung "webui" (alternative zu vis):
@jogibear9988
soll ich da einen fork machen ? oder soll ich das direkt erweiternn ?du hast ja eh keinen Zugriff. Forken, erweitern, pull request
-
@jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):
okay, hab nen typo, baue gerade neues release
Hab jetzt auf die 1.0.25 geupdatet.
Sieht bislang gut ausIm Lauf der Woche hoffe ich dass ich Zeit finde am Wiki weiter zu machen.
-
@blockmove
Sorry hab bei dem wiki vom two-way geleich noch das hinzugefügt das wenn der typ ausgewählt wird nur der zahlenwert übertragen wird. Denke das gehört da dazu und wusste nicht ob du das mitbekommen hattest. -
@smilie108 said in neue Visualisierung "webui" (alternative zu vis):
@blockmove
Sorry hab bei dem wiki vom two-way geleich noch das hinzugefügt das wenn der typ ausgewählt wird nur der zahlenwert übertragen wird. Denke das gehört da dazu und wusste nicht ob du das mitbekommen hattest.Hab es nicht mitbekommen, ist aber ok.
Ich bin gestern beim Erstellen von Screenshots für das Wiki eben auf die Probleme mit 1.0.22 gestoßen und hab daher nicht weitergemacht. Das Schöne an einem Wiki ist ja, dass mehrere daran arbeiten können.
Doku Schreiben ist nun wirklich nicht meine Lieblingstätigkeit, aber webui bietet soviel Möglichkeiten, die sich einem Einsteiger überhaupt nicht erschließen. Gerade auch im Vergleich zu vis und vis 2. Also muß halt eine Doku her. -
@smilie108 said in neue Visualisierung "webui" (alternative zu vis):
@blockmove
Sorry hab bei dem wiki vom two-way geleich noch das hinzugefügt das wenn der typ ausgewählt wird nur der zahlenwert übertragen wird. Denke das gehört da dazu und wusste nicht ob du das mitbekommen hattest.Es wird nicht einfach der Zahlenwert übertragen, es wird das als Zahl geparst was Ihr eingebt.
Dh. wenn du im Binding folgende Formel hast:
__0 + 'abcd'
und im textfeld steht nach der eingabe
99abcd
dann kann er das als Zahl Parsen.
Wenn du aber im Binding stehen hast
'abcd' + __0
und im textfeld steht
abcd99
kann er es eben nicht parsen, da brauche ich dann eine formula2way was z.b. abcd entfernt, bspw:
value.replaceAll('abcd', '')
ober man muss z.B. beim eingeben im textfeld immer alles überschreiben.
-
@jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):
Es wird nicht einfach der Zahlenwert übertragen, es wird das als Zahl geparst was Ihr eingebt.
Ein paar Fragen zum genaueren Verständnis:
Das Parsen ist immer abhängig vom Type den ich im Binding angebe, oder?
Gibt es dann einen Unterschied zwischen "ignore" und "string"?
Braucht man überhaupt "ignore"?
Welche Werte gelten bei Bool? "0", "1", "true", "false"? -
@blockmove said in neue Visualisierung "webui" (alternative zu vis):
@jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):
Es wird nicht einfach der Zahlenwert übertragen, es wird das als Zahl geparst was Ihr eingebt.
Ein paar Fragen zum genaueren Verständnis:
Das Parsen ist immer abhängig vom Type den ich im Binding angebe, oder?
=> ja, hier ist der code:
https://github.com/iobroker-community-adapters/ioBroker.webui/blob/5887ea55963172f0c931d5161767e19a32149fd1/src/frontend/helper/IobrokerWebuiBindingsHelper.ts#L544Gibt es dann einen Unterschied zwischen "ignore" und "string"?
=> ja, sonst schreibst du vlt einen "number" oder "bool" in einen string
Braucht man überhaupt "ignore"?
=> meist braucht man ja den typ nicht, dann einfach ignore lassen
Welche Werte gelten bei Bool? "0", "1", "true", "false"?
=> bei bool mache ich das:
return value === true || value === 'true' || !!parseInt(<any>value);
d.h. jede zahl größer null und der text "true". Vlt sollte ich noch toLowercase einbauen, das "TRUE" auch geht
-
@jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):
d.h. jede zahl größer null und der text "true". Vlt sollte ich noch toLowercase einbauen, das "TRUE" auch geht
Vielen Dank Jochen
Ein toLowercase bei true / false schadet generell nicht.
Persönlich würde ich nicht nur auf "true" prüfen, sondern auch auf "false".VG
Dieter -
@blockmove said in neue Visualisierung "webui" (alternative zu vis):
@jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):
d.h. jede zahl größer null und der text "true". Vlt sollte ich noch toLowercase einbauen, das "TRUE" auch geht
Vielen Dank Jochen
Ein toLowercase bei true / false schadet generell nicht.
Persönlich würde ich nicht nur auf "true" prüfen, sondern auch auf "false".VG
Dieterwarum auch auf false prüfen? alles was nicht true ist, ist ja false.
-
@jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):
warum auch auf false prüfen? alles was nicht true ist, ist ja false.
Ich würd sagen was nicht true ist, ist false oder undefined.