NEWS
neue Visualisierung "webui" (alternative zu vis & vis-2)
-
Moin,
könnte jemand nachvollziehen, ob webui im surf-display läuft? Das Ding verwendet lightdm und zeigt einfach nur einen Browser mit einer vorkonfigurierten URL an. Bei mir funktionierte dort bisher immer VIS und ich habe auch https://golem.de getestet, welches auch angezeigt wird. Bei mir bleibt die Seite mit webui aktuell weiß, lediglich zwei Scrollbalken werden angezeigt. Ich wollte das nutzen, um die webui direkt auf einem am Raspberry PI angeschlossen Display anzuzeigen. Meine verwendete URL: http://192.168.1.6:8082/webui/runtime.html#screenName=start für die Konfiguration unter
/etc/default/surf-display
. Die Variable heißtDEFAULT_WWW_URI
. Oder hätte Alternativ jemand eine Alternative zum surf-display, welches direkt unter Linux läuft?@jogibear9988 Ich habe auch noch ein witziges Problem im Zusammenhang mit HomematicIP. Mir ist aber noch nicht klar, wo genau der Schuldige liegt: Setze via webui für eine HomematicIP Komponente einen Integerwert (über den hm-rpc Adapter), so wird die Zeichenkette in den Objektbaum IMMER als string übertragen. Ein Beispiel wäre ein Heizprofil, dafür habe ich ein Binding angelegt. Das Profil geht von 1-3. Wählt man nun in diesem Code (s.u.) hier in WebUI ein anderes Heizprofil aus, so gibt es danach ein Problem bei der Datenübertragung zu Homematic. Ändere ich den Wert einfach im Objektbaum von iobroker selbst oder via javascript (oder auch früher in VIS), so wird ein Integer übertragen und das Heizprofil kann gesetzt werden:
<select bind-prop:value='{"signal":"hm-rpc.0.000A9D898F7EC2.1.ACTIVE_PROFILE","twoWay":true,"type":"number"}' style="min-width:230px;"> <option value="1">Aus</option> <option value="2">Standby</option> <option value="3">Heizen</option> </select>
Man sieht für das Binding ist "number" definiert, am Ende landet der Wert aber als "string" im Objektbaum, der WebAdapter beschwert sich auch:
-
so wie ich das sehe, ist der surf browser einfach uralt ( https://en.wikipedia.org/wiki/Surf_(web_browser) ).
Und ich habe keine Polyfills für alle möglichen neuen Webstandards...Eig. sollte wenn du type "number" hast, der wert vor dem schreiben in ein float gewandelt werden: https://github.com/iobroker-community-adapters/ioBroker.webui/blob/485a6edc234de8b80f72584dcccd1011dae21302/src/frontend/helper/IobrokerWebuiBindingsHelper.ts#L456
kommt er da rein? vlt kannst da ja mal ein haltepunkt setzen? -
halt, mein fehler...
hab es nur in der richtung drin -> iobroker wert ändert sich, nicht in der richtung wenn du es von der UI aus änderst... bau ich rein
-
Frage zu Unterordnern in webui:
Sollen die Ordner dann Teil des Objektes sein? D.h. man muss ein Screen dann in einem Script z.b. so ansprechen "a/b/c", wenn der screen "c" im Ordner "b" im Ordner "a" liegt?
Oder soll der Name immer noch eindeutig sein?Ich muss mir dann auch jedes mal beim speichern eine liste bauen welcher screen/control in welchem ordner liegt, sonst muss ich das jedes mal rekursiv durchsuchen, was sicher langsam wäre.
-
@jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):
Frage zu Unterordnern in webui:
Sollen die Ordner dann Teil des Objektes sein? D.h. man muss ein Screen dann in einem Script z.b. so ansprechen "a/b/c", wenn der screen "c" im Ordner "b" im Ordner "a" liegt?
Oder soll der Name immer noch eindeutig sein?Ich muss mir dann auch jedes mal beim speichern eine liste bauen welcher screen/control in welchem ordner liegt, sonst muss ich das jedes mal rekursiv durchsuchen, was sicher langsam wäre.
Ich hab lieber eindeutige Screennamen.
Dann gibt es auch keine Probleme wenn man mal einen Screen in einen anderen Ordner schiebt.
Also Ordner nur zur reinen Übersicht. -
@jogibear9988 Der Screenname sollte eine eindeutige ID bleiben
-
@jogibear9988
Ich bin auch dafür die ordner nur für den editor fürs bessere händling. -
Okay, muss schauen wie ich das realisiere...
Im Moment lade ich einfach alle dateien in einem bestimmten ordner (screens), wenn es dort dann mehrere unterordner gibt muss ich ja alle durchlaufen...
Und im Screen speichern ist auch schlecht, weil ich lade ja eig. nur die, die gerade genutzt werden...mal schauen wie ich das mache
-
Gibt ne neue WebUi version:
- in simple scripts kann man nun auf die vent daten zugreifen (um z.b. den value eines input feldes zu verwenden), siehe http://129.159.205.3:8082/webui/index.html screen "test event"
- in javscriptscript könnt ihr nun "RUNTIME" und "IOB" als globale objekte verwenden, dazu gibts codevervollständigung. siehe auch screen "test event"
- nutzen des types beim value schreiben bei bindings
-
@jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):
- nutzen des types beim value schreiben bei bindings
JIPIIEEE, nun muss ich nur noch eine Alternative für das surf-display auftreiben. Es gibt ganze Linuxdistributionen, welche nur einen Kioskmodus anbieten, irgendwas wird sich schon finden.
-
@worlik said in neue Visualisierung "webui" (alternative zu vis):
@jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):
- nutzen des types beim value schreiben bei bindings
JIPIIEEE, nun muss ich nur noch eine Alternative für das surf-display auftreiben. Es gibt ganze Linuxdistributionen, welche nur einen Kioskmodus anbieten, irgendwas wird sich schon finden.
Je nach Windowmanager gibt es bei Linux auch Autostart-Funktionen. Den Browser deiner Wahl kannst du dann im Kioskmodus starten. Autologin ist natürlich auch möglich.
Hatte ich vor Jahren mal mit nem Raspi am Laufen. -
@jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):
Gibt ne neue WebUi version:
- in simple scripts kann man nun auf die vent daten zugreifen (um z.b. den value eines input feldes zu verwenden), siehe http://129.159.205.3:8082/webui/index.html screen "test event"
- in javscriptscript könnt ihr nun "RUNTIME" und "IOB" als globale objekte verwenden, dazu gibts codevervollständigung. siehe auch screen "test event"
- nutzen des types beim value schreiben bei bindings
Kaum aus dem Urlaub zurück und schon ist ne neue Version verfügbar
Vielen Dank Jochen! -
mit dem Javascript Code gibts noch probleme, leider hat man nun keine Code completion für die funktions parameter. Siehe issues dazu:
https://github.com/microsoft/monaco-editor/issues/4323
https://github.com/microsoft/TypeScript/issues/42048#issuecomment-1876498236 -
@jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):
mit dem Javascript Code gibts noch probleme, leider hat man nun keine Code completion für die funktions parameter. Siehe issues dazu:
https://github.com/microsoft/monaco-editor/issues/4323
https://github.com/microsoft/TypeScript/issues/42048#issuecomment-1876498236Damit kann ich leben.
Oberfläche und Editor sind ja schon jetzt auf einem sehr guten Level.
Wichtig ist mir eine nachvollziehbare Funktionalität der Visu. -
Hallo Jochen,
ich hab gesehen, dass du input datetime-local auch gefixt hast. Vielen Dank!
Hab jetzt noch gar nicht kontrolliert, wie es mit input time aussieht. Ist der auch local?
Eventuell wären hier Varianten mit UTC noch hilfreich.Ich weiß, dass das ein leidiges Thema ist
Egal ob privat beim Smarthome oder im Job bei S7.VG
Dieter -
@blockmove
Jop mal offtopic diese ganzen zeitvariationen sicht echt ein leidiges Thema@jogibear9988
Danke nochmal man kann schon sehr gut arbeiten damit. Das einzige was ich jetzt noch vergessen habe oder ncoh schauen muss ist das ich am handy die oberfläche wieder zoomen kann. ( mit den Fingern ) weis noch nicht warum das nicht geht aber warscheinlich weil alles absolut ist das muss ich dann wieder alles ändern -
@smilie108 said in neue Visualisierung "webui" (alternative zu vis):
Danke nochmal man kann schon sehr gut arbeiten damit. Das einzige was ich jetzt noch vergessen habe oder ncoh schauen muss ist das ich am handy die oberfläche wieder zoomen kann. ( mit den Fingern ) weis noch nicht warum das nicht geht aber warscheinlich weil alles absolut ist das muss ich dann wieder alles ändern
Da ist der Umstieg auf webui ganz praktisch
Ich versuch weitest gehend auch ein Layout mit grid zu verwenden.
Erstaunlich wieviel html und css man durch den Umstieg auf webui lernt -
valeAsNumber ist beim "dateTimeLocal" input schon in UTC, ich hab mal noch ne property hinzugefügt valueAsNumberLocal, wenn Ihr an diese bindet, bekommt ihr die zahl mit der lokalzeit in eurer ioBroker objekt
-
oder es liegt an meinem meta tag:
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no, maximum-scale=1.0, user-scalable=no, viewport-fit=cover">
ist in der runtime.html.
Wir haben in einer visu selbst zoomen implementiert, und das funktioniert ohne das meta tag nicht. Wenn es stört kann ich das meta tag aber einstellbar machen.Vlt. mach ich irgendwann auch noch ein zoom control.
-
@jogibear9988 said in neue Visualisierung "webui" (alternative zu vis):
valeAsNumber ist beim "dateTimeLocal" input schon in UTC, ich hab mal noch ne property hinzugefügt valueAsNumberLocal, wenn Ihr an diese bindet, bekommt ihr die zahl mit der lokalzeit in eurer ioBroker objekt
Zum Verständnis:
- Wenn ich an valueAsNumber binde, dann wird im webui-Inputfeld Local verwendet und im ioBroker-Object UTC?
- Wenn ich an valueAsNumberLocal binde, dann wird keine Zeitzone berücksichtigt. Also webui-Inputfeld = ioBroker-Object?
- Die Funktionaliät bei inputtype DateTime und Time? Bei inputtype Date ist es ja nicht notwendig.