Giter VIP home page Giter VIP logo

iobroker.vis's Introduction

Logo

Visualisation

Number of Installations Number of Installations NPM version Downloads

NPM

WEB visualization for ioBroker platform.

The development of this version is stopped. Please migrate your projects to vis-2.

License requirements

The adapter is free for all kinds of usage.

Installation & Documentation

Demo interface Demo interface

Online Demos

Bindings of objects

Normally, most of the widgets have ObjectID attribute and this attribute can be bound with some value of object ID. But there is another option for how to bind any attribute of widget to some ObjectID.

Just write into attribute {object.id} and it will be bound (not in edit mode) to this object's value. If you use the special format, you can even make some simple operations with it, e.g., multiplying or formatting. Patten has the following format:

{objectID;operation1;operation2;...}

The following operations are supported:

  • \* - multiplying. Argument must be in brackets, like "*(4)". In this sample, we multiply the value with 4.
  • \+ - add. Argument must be in brackets, like "+(4.5)". In this sample we add to value 4.5.
  • \- - subtract. Argument must be in brackets, like "-(-674.5)". In this sample we subtract from value -674.5.
  • / - dividing. Argument must be in brackets, like "/(0.5)". In this sample, we divide the value by 0.5.
  • % - modulo. Argument must be in brackets, like "%(5)". In this sample, we take modulo of 5.
  • round - round the value.
  • round(N) - round the value with N places after point, e.g., 34.678;round(1) => 34.7
  • hex - convert value to hexadecimal value. All letters are lower cased.
  • hex2 - convert value to hexadecimal value. All letters are lower cased. If value less 16, so the leading zero will be added.
  • HEX - same as hex, but upper-cased.
  • HEX2 - same as hex2, but upper-cased.
  • date - format date according to given format. Format is the same as in iobroker.javascript
  • min(N) - if value is less than N, take the N, else value
  • max(M) - if value is greater than M, take the M, else value
  • sqrt - square root
  • pow(n) - power of N.
  • pow - power of 2.
  • floor - Math.floor
  • ceil - Math.ceil
  • json - operation for getting json or object property. E.g., {id;json(common.name.en)}
  • random(R) - Math.random() * R, or just Math.random() if no argument
  • formatValue(decimals) - format value according to system settings and use decimals
  • date(format) - format value as date. The format is like: YYYY-MM-DD hh:mm:ss.sss
  • momentDate(format, useTodayOrYesterday) - format value as date using Moment.js. Approved formats must be entered according to the moment.js library. With useTodayOrYesterday=true the momentjs format ddd/dddd are overwritten with today / yesterday
  • array(element1,element2[,element3,element4]) - returns the element of index. e.g.: {id.ack;array(ack is false,ack is true)}

You can use this pattern in any text, like

My calculations with {objectID1;operation1;operation2;...} are {objectID2;operation3;operation4;...}

or color calculations:

#{objectRed;/(100);*(255);HEX2}{objectGreen;HEX2}{objectBlue;HEX2}

To show timestamp of object write .ts or .lc (for last change) at the end of object id, e.g.:

Last change: {objectRed.lc;date(hh:mm)}

There is another possibility to write the pattern:

Hypotenuse of {height} and {width} = {h:height;w:width;Math.max(20, Math.sqrt(h*h + w*w))}

{h:height;w:width;h*w} will be interpreted as function:

value = (function () {
    var h = "10";
    var w = "20";
    return Math.max(20, Math.sqrt(h*h + w*w));
})();

You can use any javascript functions. Arguments must be defined with ':', if not, it will be interpreted as formula.

Take care about types. All of them are defined as strings. To be sure, that value will be treated as number use parseFloat function.

Hypotenuse of {height} and {width} = {h:height;w:width;Math.max(20, Math.sqrt(Math.pow(parseFloat(h), 2) + Math.pow(parseFloat(w), 2)))}

Special bindings

There are a number of different internal bindings to provide additional information in views:

  • username - shows logged-in user
  • view - name of actual view
  • wname - widget name
  • widget - is an object with all data of widget. Can be used only in JS part, like {a:a;widget.data.name}
  • wid - name of actual widget
  • language - can be de, en or ru.
  • instance - browser instance
  • login - if login required or not (e.g., to show/hide logout button)
  • local_* - if state name is started from local_ it will not be reported to ioBroker but will update all widgets, that depends on this state. (Local variable for current browser session)

Note: to use ":" in calculations (e.g., in string formula) use "::" instead.

Remember, that style definitions will be interpreted as bindings, so use {{style: value}} or just

{
	style: value
}

for that.

Filters

To visualize on the one view the whole number of widgets, you can use filters to reduce the number of widgets simultaneously shown on the view.

Every widget has a field filter. If you set it to some value, e.g. light, so you can use other widget (bars - filters, filter - dropdown) to control which filter is actually active.

Control interface

Vis creates 3 variables:

  • control.instance - Here the browser instance should be written or FFFFFFFF if every browser must be controlled.
  • control.data - Parameter for command. See specific command description.
  • control.command - Command name. Write this variable triggers the command. That means before command will be written, the "instance" and "data" must be prepared with data.

Commands:

  • alert - show an alert window in the vis. "control.data" has the following format "message;title;jquery-icon". Title and jquery-icon are optional. Icon names can be found here. To show icon "ui-icon-info" write Message;;info.

  • changeView - switch to desired view. "control.data" must have the name of view. You can specify the project name too as "project/view". The default project is "main".

  • refresh - reload the vis, for instance after a project is changed to reload on all browsers.

  • reload - same as refresh.

  • dialog - Show dialog window. Dialog must exist on view. One of:

    • static - HTML - Dialog,
    • static - Icon - Dialog,
    • container - HTML - view in jqui Dialog,
    • container - ext cmd - view in jqui Dialog,
    • container - Icon - view in jqui Dialog,
    • container - Button - view in jqui Dialog.

    control.data must have id of dialog widget, e.g. w00056.

  • dialogClose

  • popup - opens a new browser window. Link must be specified in control.data, e.g., http://google.com

  • playSound - play sound file. The link to file is specified in control.data, e.g., http://www.modular-planet.de/fx/marsians/Marsiansrev.mp3. You can upload your own file in vis and let it play as for instance /vis.0/main/img/myFile.mp3.

If the user changes the view or at start, the variables will be filled by the vis with

  • control.instance: browser instance and ack=true
  • control.data: project and view name in form project/view, e.g. main/view (and ack=true)
  • control.command: changedView and ack=true

You can write the JSON string or Object into control.command as {instance: 'AABBCCDD', command: 'cmd', data: 'ddd'}. In this case, the instance and data will be taken from JSON object.

Example for javascript adapter:

setState('vis.0.control.command', {"instance": "*", "command": "refresh", "data": ""});

Default view

You can define for every view the desired resolution (Menu=>Tools=>Resolution). This is only the visual border in edit mode to show you the screen size on some specific device. In real time mode it will not be visible and all widgets outside of border will be visible.

Additionally, you can define if this view must be used as default for this resolution.

So every time the index.html (without #viewName) is called, the best suitable for this resolution view will be opened. If only one view has "Default" flag, so this view will be opened independently of screen resolution or orientation.

E.g., you can create two views "Landscape-Mobile" and "Portrait-Mobile" and these two views will be switched automatically when you change the orientation or screen size.

There is a helper widget "basic - Screen Resolution" that shows actual screen resolution and best suitable default view for this resolution.

Settings

Reload if sleep longer than

There is a rule that after some disconnection period, the whole VIS page will be reloaded to synchronize the project. You can configure it in the menu "Settings...". If you set an interval to "never" so the page will never be reloaded.

Reconnect interval

Set the interval between the connection attempts if disconnected. If you set 2 seconds, it will try to establish the connection every 2 seconds.

Dark reconnect screen

Sometimes (in the night) it is required to have a dark loading screen. With this option, you can set it.

Notice that these settings are valid only for reconnection and not for the first connection.

Dark

Changelog

WORK IN PROGRESS

  • (bluefox) Removed usage of storage and uses localStorage instead.

1.5.5 (2024-04-12)

  • (bluefox) Corrected small warning

1.5.4 (2023-11-29)

  • (agav99) added the new binding operation for getting property of JSON or object
  • (agav99) Checked the initialization of the local_ variables
  • (agav99) fixed subscribeOidAtRuntime
  • (stephanritscher) Added dynamic web manifest
  • (agav99) Optimization for basic-view in widget8
  • (oweitman) Changed binding regex to accept umlauts
  • (mcm1957) Corrected first installation of vis

1.5.1 (2023-11-06)

  • (bluefox) Changed License: it is now MIT, and the license check was removed

1.4.16 (2023-01-27)

  • (bluefox) Corrected connection with "only port" URLs

1.4.15 (2022-04-10)

  • (bluefox) Better check of the offline license

1.4.14 (2022-03-31)

  • (bluefox) Corrected GUI bug

1.4.13 (2022-03-22)

  • (pascal-hari) The group attributes will be replaced recursively

1.4.12 (2022-02-12)

  • (bluefox) Fixed bug with the export of specific widgets

1.4.11 (2022-02-12)

  • (bluefox) Removed ES6 commands to be supported by older browsers
  • (oweitman) Fixed problem with update of grouped widgets
  • (stephanritscher) Added web manifest to be able to handle vis as the web app

1.4.8 (2022-01-29)

  • (bluefox) Added support for js-controller 4.x

1.4.7 (2021-12-28)

  • (mswiege) Fixed subscribeOidAtRuntime if called with invalid IDs
  • (bluefox) Added support of license manager

1.4.6 (2021-11-20)

  • (bluefox) Added the license check even without internet

1.4.5 (2021-10-08)

  • (jens-maus) Added frame-src spec to content-security-policy header fixing frame related content blocking issues (e.g. using KioskPro iOS app).
  • (bluefox) Showed the extended error messages by license check
  • (Scrounger) Patch visibility oid binding

1.4.4 (2021-08-31)

  • (jobe451) Allowed to have ":" in the binding object IDs

1.4.3 (2021-07-11)

  • (bluefox) Added possibility to check license offline (only special once)

1.4.0 (2021-07-01)

  • (bluefox) Changed path for check of certificates
  • (thost96) fixes for issues found by adapter-checker

1.3.10 (2021-05-25)

  • (bluefox) Fixed the support of admin5

1.3.9 (2021-04-29)

  • (agav99) Added support of local browser variables
  • (Scrounger) Bug fix for null & NaN values in width and height
  • (bluefox) Added support for admin5

1.3.8 (2021-03-03)

  • (bluefox) fix play sounds on iOS Safari an android
  • (Scrounger) visEditInspect: format dimension added
  • (foxriver76) Replace travis and appveyor by the GitHub actions
  • (Excodibur) Allow resources to be loaded as blob
  • (Excodibur ) Allow resources to be loaded as blob

1.3.7 (2021-01-20)

  • (Scrounger) Bug Fixed - Binding in JSON string

1.3.6 (2020-12-13)

  • (twonky4) Corrected: old browser issue
  • (rbaranga) Corrected: play sounds on iOS Safari
  • (Scrounger) Added the optional arguments to support Material Design Widgets

1.3.4 (2020-10-04)

  • (foxriver76) Corrected the error on older devices

1.3.3 (2020-09-21)

  • (bluefox) Return de-bounce settings back
  • (bluefox) Corrected error with {username} binding
  • (bluefox) Fixed "show last change" option

1.3.1 (2020-09-18)

  • (bluefox) Added the auto-focus option to the input widgets

1.3.0 (2020-09-17)

  • (foxriver76) on pending getStates, try again instead of drop
  • (foxriver76) fixed the file manager typos
  • (Scrounger) Added momentDate for the bindings

1.2.12 (2020-09-08)

  • (foxriver76) only parse arrays and json objects, not booleans, normal strings etc

1.2.11 (2020-08-25)

  • (bluefox) The error message about the non-found chart view was fixed.

1.2.10 (2020-08-23)

  • (gsicilia82/fceller) JSON strings will be parsed in VIS bindings

1.2.9 (2020-08-22)

  • (bluefox) Charts are now supported

1.2.6 (2020-03-22)

  • (bluefox) Added the better error message if license could not be parsed

1.2.4 (2020-02-11)

  • (bluefox) Table widget was extended with the selected object ID.

1.2.3 (2019-12-14)

  • (bluefox) Small changes in license handling were made

1.2.2 (2019-10-27)

  • (bluefox) Preparations for js-controller 2.0. Check undefined adn null.

1.2.1 (2019-09-10)

  • (bluefox) fixed upload of files

1.2.0 (2019-05-07)

  • (bluefox) add translations

1.1.11 (2019-02-07)

  • (bluefox) improve Bool HTML

1.1.10 (2019-01-30)

  • Add Chinese support

1.1.8 (2018-10-29)

  • (bluefox) File dialog was corrected

1.1.7 (2018-07-24)

  • (bluefox) view8 corrected

1.1.6 (2018-07-18)

  • (bluefox) support of new variables (see Special bindings )
  • (bluefox) fix error if fast view changes
  • (bluefox) fix "jqui - ctrl - IconState / val - Icon Bool"

1.1.5 (2018-06-10)

  • (bluefox) show more information if widget cannot be rendered
  • (bluefox) fix saving of widgets if they have bindings
  • (bluefox) show error stack
  • (bluefox) fix binding
  • (Apollon77) fix testing
  • (bluefox) fix for iobroker.pro and external socket.io settings
  • (bluefox) A user variable was added into bindings.
  • (bluefox) Fixed widget tabs

1.1.4 (2018-04-23)

  • (bluefox) fix bool SVG

1.1.3 (2018-04-12)

  • (bluefox) ignore click by scrolling on touch devices
  • (bluefox) remove wrong state vis.0.command
  • (bluefox) fix error with jPlot
  • (bluefox) better widget behaviour in edit Mode (basic, jqui)
  • Fix config dialog

1.1.2 (2018-02-02)

  • (bluefox) Fixing the saving of project
  • (bluefox) Fixing the background selector
  • (bluefox) Fixing the null pointer problem
  • (bluefox) Fixing the selection helper
  • Update translations

1.1.1 (2018-01-07)

  • (bluefox) The problem with view change on the touch devices fixed

1.0.5 (2017-11-19)

  • (bluefox) show number of data points in every project

1.0.4 (2017-10-22)

  • (bluefox) Add autocomplete for view CSS options
  • (bluefox) change edit of view CSS background options

1.0.3 (2017-10-20)

  • (bluefox) Fix parse of invalid bindings
  • (bluefox) add moment.js

1.0.0 release candidate (2017-10-13)

  • (bluefox) fix iframe and image updates
  • (bluefox) fix fonts

0.15.7 (2017-10-01)

  • (bluefox) allow update of images without additional query (but it works only in some very specific cases)
  • (bluefox) zoom of iframes

0.15.5 (2017-07-24)

  • (bluefox) Fix widgets upload

0.15.4 (2017-07-19)

  • (bluefox) Add swipe

0.15.3 (2017-07-12)

  • (bluefox) Add full screen widget
  • (bluefox) Fix timestamp widget

0.15.2 (2017-07-07)

  • (bluefox) Fix binding if it has "-" in the OID

0.15.1 (2017-06-30)

  • (bluefox) Fix error with context menu
  • (bluefox) Allow adding of class to view

0.15.0 (2017-05-25)

  • (bluefox) fix copy of grouped widgets
  • (bluefox) fix subscribe if empty states

0.14.7 (2017-05-19)

  • (bluefox) add templates

0.14.6 (2017-05-16)

  • (bluefox) Fix error by groups selection
  • (apollon77) fix jqui-dialog for auto-open

0.14.3 (2017-05-11)

  • (bluefox) fix export/import of grouped widgets

0.14.2 (2017-04-29)

  • (bluefox) Fix install error

0.14.1 (2017-04-27)

  • (bluefox) move beta to main
  • (bluefox) fix choose filter
  • (bluefox) fix error if some views do not exist
  • (bluefox) fix binding problem, e.g. "a:-45?0" was detected as variable too.
  • (bluefox) fix some font sizes
  • (bluefox) fix undo
  • (bluefox) fix themes change
  • (bluefox) optimize load of pages
  • (bluefox) check license
  • (bluefox) fix basic views 8
  • (bluefox) fix time picker if opened in dialog

0.14.0 (2017-04-10)

  • (bluefox) add mandatory license input

0.12.7 (2017-02-09)

  • (bluefox) prepare beta

0.12.6 (2017-01-29)

  • (pmant) fix view copy
  • (pmant) Improvements to context menu
  • (pmant) usability improvements for both view dropdowns
  • (bluefox) small fix of dragging

0.12.6 (2017-01-29)

  • (pmant) add dropdown menu to views bar
  • (pmant) sort widgets widget selector by name
  • (bluefox) fix groupAttr in signals and visibility

0.12.2 (2016-12-04)

  • (bluefox) fix errors with grouping

0.12.1 (2016-11-30)

  • (bluefox) fix errors with containers

0.12.0 (2016-11-24)

  • (bluefox) subscribe mode for faster state loading
  • (bluefox) add grouping

0.10.15 (2016-11-06)

  • (bluefox) remove weather-adapter.html
  • (bluefox) clean config.js
  • (bluefox) remove old widgets
  • (bluefox) improve authentication in app
  • (bluefox) allow creation of instance from helper widget

0.10.14 (2016-10-09)

  • (bluefox) fix rendering of widgets
  • (bluefox) working on relative positions.
  • (bluefox) destroy widgets before views deletion

0.10.13 (2016-09-23)

  • (bluefox) fixed errors for iPad 1
  • (bluefox) start working on relative positions

0.10.12 (2016-09-16)

  • (bluefox) group specific visibility of widgets and views

0.10.11 (2016-09-15)

  • (bluefox) fix for iOS 10
  • (bluefox) allow disabling of groups for performance

0.10.10 (2016-09-14)

  • (bluefox) add text2speech widget
  • (bluefox) try to fix problem with iOS 10

0.10.9 (2016-09-04)

  • (bluefox) support of web-sockets force
  • (bluefox) destroy unused views after 30 seconds
  • (bluefox) do not show middle leading lines if top and bottom are shown
  • (bluefox) let timestamp and last-change to show time as interval

0.10.7 (2016-07-09)

  • (bluefox) add settings to reload vis
  • (bluefox) add dark reload screen
  • (bluefox) fix reload interval
  • (bluefox) export/import
  • (bluefox) add global script
  • (bluefox) add 'not exist'/'not consist'/'exist' to signal and visibility
  • (bluefox) fix OIDs in editor

0.10.5 (2016-06-15)

  • (bluefox) fix select ID dialog
  • (bluefox) add align help lines
  • (bluefox) never store data in non-edit mode

0.10.4 (2016-06-14)

  • (bluefox) fix drag and resize
  • (Patrick) fix QuoJS
  • (bluefox) support of milliseconds in formatDate
  • (bluefox) support of getHistory
  • (bluefox) support of show history instances
  • (bluefox) grid
  • (bluefox) add previews

0.10.3 (2016-05-30)

  • (bluefox) update canJS
  • (pmant) fixes bugs with dialogs on touchscreens
  • (bluefox) speedUP show attributes at 300ms
  • (bluefox) fix click on widget if signal is active

0.10.2 (2016-05-24)

  • (bluefox) fix widgets with timestamps

0.10.1 (2016-05-23)

  • (bluefox) change version

0.10.0 (2016-05-23)

  • (bluefox) translates
  • (bluefox) fix 'no widgets selected'
  • (bluefox) change widget icons
  • (bluefox) add signals
  • (bluefox) add app.css for cordova
  • (bluefox) change icons preview
  • (bluefox) show properties of widget as icon
  • (bluefox) fix error with external commands
  • (bluefox) add types icon to preview
  • (bluefox) support edit on iPad1
  • (bluefox) change security settings

License

The MIT License (MIT)

Copyright (c) 2013-2024 Denis Haev [email protected], Copyright (c) 2013 hobbyquaker

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

iobroker.vis's People

Contributors

agav99 avatar allofmex avatar apollon77 avatar backgroundworkers avatar bergreiter avatar bjoern3003 avatar dependabot[bot] avatar eisbaeeer avatar exceptionfault avatar foxriver76 avatar geolin avatar germanbluefox avatar gsicilia82 avatar hobbyquaker avatar lueghi avatar mcm1957 avatar mrmckracken avatar mswiege avatar oweitman avatar pascal-hari avatar pmant avatar rbaranga avatar scrounger avatar smiling-jack avatar soef avatar stephanritscher avatar thorque avatar thost96 avatar twonky4 avatar wendy2702 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

iobroker.vis's Issues

Kopieren zerstört Widget

Wird das Widget "hqwidgets On/Off" auf einen anderen View kopiert, ist die Kopie 'defekt' (Hintergrund sitzt neben image)

Verhalten von Widget Dropdown 'Zeige in Views'

Das Dropdown verhält sich unschön, insofern, dass beim ersten Öffnen und Auswählen einer zusätzlichen View, sich das Feld sofort wieder schliesst. Werden weitere Views in einem zweiten Anlauf angeklickt, bleibt das Dropdown offen bis man fertig ist.
Besser wäre, es würde von Anfang an offen bleiben bis alle nötigen Views angeklickt sind.

JQUI Widgets Changing Size / afterwards VIS View is inconsistent to VIS EDITOR

Hi,
I have been facing with a very annoying issue around VIS and JQUI CTRL INPUT widgets
I have developed a view (Heating View) - the View Code can be found here: http://forum.iobroker.net/viewtopic.php?f=21&t=10096

I am calling the view from a "view in widget"-widget. If I add (import or copy) the heating view in more than one view then the widgets seem to move (double heighth)
Example: one of my views is the "OG" view. There are like 5 heating views embedded (they can be called through a transparent button (view in widget). So far so good
If I now copy the heating view into a next view like "UG" then all Heating views (including the 5 from OG are out of shape. see sample pics attached. (all about the JQUI-CNTRL-INPUT widgets.
From now on I can not go back to normal size of these widgets anymore. The only way to reverse it is to restore the views from a copy. Therefore it is not possible to use multiple views with this set up.

It is easy to recap the issue.

  1. add the heating view vis by importing it from here: http://forum.iobroker.net/viewtopic.php?f=21&t=10096
  2. add a widget "view in widget" so that the new view can be called from of your views
  3. add a scond heating view from the same source above to your project
  4. add a widget "view in widget" into a second view of your project and call that view

Now all views are looking like the pic attached.

Also, it is not only me facing the issue. It has been reported to me several times.

heating1

heating2

dimmer.png and humidity.png not found

Hi,

the consol-window in Chrome shows the following error:

jquery-1.11.2.min.js:3 GET http://192.168.178.160:8082/vis/icon/dimmer.png 404 (Not Found)

if i look in github in file "/www/css/vis-editor.css" line 1071-1076 there are links to files where not exists in Folder "/www/Icon".

BarChart widget: Color for labels is not set.

The color for the labels is not set and uses the default color "black" for bar charts.
All other colos canbe changed successfully.
https://github.com/ioBroker/ioBroker.vis/blob/master/www/widgets/RGraph.html

Something like this should exist for tplRBarChart:

t.Set('text.color', data.attr("labels_color"));

and to make it available for editing:

data-vis-attrs4="group.labels;labels_color[#000000]/color;labels_font/fontname;labels_size/slider,1,100;labels_centered/checkbox;labels_offset/slider,-500,500,1;"

Widgets lassen sich nicht mehr löschen nach Javascript in color einstellungen.

ich habe ein circleknob mit der eine javascript farbe belegt.
{n:paw.0.Smarthome Tablet Wohnzimmer.info.memory.ram_free;numberToColorHslmemory(n)}
seit dem lässt sich auf der seite weder was dauerhaft speichern, noch lassen sich diese objekte löschen.
wenn ich dannach speichern will passiert nix der speichern button bleibt dauerhaft aktiv.

auch lässt sich der gesamte view nicht löschen.

Permanent grouping of widgets

To actually better manage large VIS Views it would be great if VIS would get a functionality to permanently group widgets into one permanent unit so that all operations will be performed on the group and its members. In addition there would of course be the need to also be able to ungroup them again to access individual member information/functionality.

javascript-dependend background with more than one condition does not work

I'm setting the background color of a widget with
{h:hm-rpc.0.NEQ0529746.2.STATE;i:hm-rpc.0.NEQ0529746.1.STATE;h == "true" ? "#ff0000" : i == "true" ? "#ffa4280" : "#008000"}

This worked with iobroker.vis 0.10.15

After upgrading to iobroker.vis 0.15.0, this code does not work anymore.
I tried it with a single condition, which is working - but not with two conditions...
It seems, that 0.14.7 also has this issue.

Can't enter license number.

I have new install iobroker and vis
In old versoín is possible to click settings on vis.0 and enter license number.
But I get blank page..
vis

Seit update 1.1.0 hängt VIS

Guten Tag,
seit dem update auf v1.1.0 bleibt der vis editor hängen.

Verbinde mit dem Server...
Lade Werte...

mehr kommt nicht mehr.

Die Konsole von firefox zeigt das hier an
ReferenceError: getUsedObjectIDs is not defined
[Weitere Informationen]

Widget-Eigenschaft "letzte Änderung" Intervall: Darstellung wechselt auf absolut

wählt man bei der Widget-Eigenschaft "Zeige letzte Änderung" den Typ "letzte Änderung" und Intervall=true, wird bei der Darstellung nicht immer ein Intervall angezeigt.
Zeitweise wird ein absolutes Datum angezeigt. Ein Refresh hilft dann meistens für einige Zeit (Minuten), danach kommt es jedoch wieder vor, dass ein absolutes Datum angezeigt wird.

Widget navigation Views bar

Das Widget kann sich die Anzahl Knöpfe nicht merken.
Wird zum Beispiel die Knopfzahl auf 4 reduziert, so werden in der Ansicht (oder auch nach neu laden des Editors wieder 8 Knöpfe angezeigt. (Ich habe zZ 8 Views im Test)

jqui Probleme

Issue aus: http://forum.iobroker.org/viewtopic.php?p=5624#p5624
A
val-Türe & val-Drehgriff
Hier verändert sich der Status nicht. Status wird aber nach ioBroker korrekt übertragen.

B
value-Shutter & ctrl-Shutter + jqui Dialog & ctrl-Dimmer + jqui Dialog
Hier wird auch nicht der korrekte Status angezeigt. Unter CCU.IO hat sich aus das Bild verändert.

Button "tplBulbOnOffCtrl" verbleibt nicht im Zustand

Ziel:
Antippen eines Buttons schaltet einen Homematic Aktor ein und aus

Problem:
Wenn ich einen Button antippe, wird der Zustand des Aktors nur für eine halbe Sekunde getoggelt, danach fällt er wieder in seinen ursprünglichen Zustand. Der Aktor wird also nur für eine halbe Sekunde ein- und sofort wieder ausgeschaltet.

Analyse:

  • Mausklicks im Browser werden korrekt verarbeitet (klick - ein, klick - aus)
  • Das Problem tritt nur am Touchscreen (iPhone/iPad) auf UND wenn ich zusätzlich eine CSS background-color Formatierung verwende:
    {h:hm-rpc.0.NEQ0000000.1.STATE;h == "false" ? "#676767" : "#00aa00"}

Workaround:
Ein längeres Antippen funktioniert, dann bleibt der Button in seinem Zustand, allerdings bekomme ich dann auch immer das Kontextmenü meines Browser angezeigt.

Installation not possible in Windows 10

Hi,

I'm not able to install vis and create an instance.

F:\ioBroker>iobroker add vis

F:\ioBroker>node node_modules/iobroker.js-controller/iobroker.js add vis
host.Homeserver install adapter vis
npm install --production --prefix "F:/ioBroker/node_modules/iobroker.vis" (System call)
npm ERR! addLocal Could not install F:\ioBroker
npm ERR! Windows_NT 10.0.10586
npm ERR! argv "F:\nodejs\node.exe" "C:\Users\Stephan\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js" "install" "--production" "--prefix" "F:/ioBroker/node_modules/iobroker.vis"
npm ERR! node v6.9.1
npm ERR! npm v3.10.8

npm ERR! No version provided in package.json
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! https://github.com/npm/npm/issues

npm ERR! Please include the following file with any support request:
npm ERR! F:\ioBroker\npm-debug.log
Cannot install iobroker.vis: 1

Any hints how to install vis?

automatisches Ausrichten von Widgets mit Rand fehlerhaft

Wenn z.B. beim Widget basic - HTML state ein Rand eingefügt wird bleibt der gestrichelte Auswahlrand nur so groß wie das Widget in seiner ursprünglichen Größe ohne Rand. Nach dieser Größe wird das (werden die) Widget(s) dann auch ausgerichtet. vis 0.15.5

widget ausrichten
Das Bild wurde nach dem Ausrichten gemacht!

RappiRN

dark loading/init screen please

Now that 0.10.7 has a dark reloading screen via a new settings menu entry it would also be great to configure vis to also have the possibility to configure a dark (black) main loading/init screen so that if vis is freshly loaded the loading/init screen will have a dark background instead.

Change view by commando (object) only uses main project

When i want to change the current view on my PC and i enter in data field as example:
Temperature_Control/Verwarming_Woonkamer

the browser goes to "main#Verwarming_Woonkamer" instead of the wanted "Temperature_Control#Verwarming_Woonkamer" in the other project

The field itself is also update with the value "main/Verwarming_Woonkamer"

Zählung beim Selektieren

Wenn mehr als ein Widget selektiert und dann gelöscht werden, wird immer 1 zuviel berechnet. ('Alle' wird mit gezählt?!)

Addition of "?_vis_refts=XXXXXX" URL parameter causes "Bad Request"

If in vis a basic-Image widget is added with an enabled refresh interval vis seem to add an own URL parameter ?_vis_refts=XXXXX to the URL for the next and following refresh cycles (see https://github.com/ioBroker/ioBroker.vis/blob/master/www/widgets/basic.html#L345). For some strict web servers who are checking URL parameters quite strong this results in "Bad Request - 404" errors to be replied. One example URL where this happens is:

http://www.yr.no/place/Germany/Saxony/Loschwitz/avansert_meteogram.png

After the refresh interval VIS tries to reload the image but with the following self constructed example URL:

http://www.yr.no/place/Germany/Saxony/Loschwitz/avansert_meteogram.png?_vis_refts=1502181369835

As a result of having added this _vis_refts=XXX URL parameter the webserver of yr.no replies with a "Bad Request" (potentially to protect it from any scripting attack)

ioBroker adapter instances und Link im Titel

Im iobroker.Admin unter "ioBroker adapter instances" funktioniert der Titel-Link nicht, da hier die URL nicht richtig ist "undefined://DIE-IP:8082/vis/edit.html", es fehlt das http

vis History

Es wäre super wenn man in vis-History-Gadget die Möglichkeit hätte "NULL" Werte zu ignorieren. Der neue SQL Adapter ab 1.6.4 schreibt bei jedem Starten NULL-Einträge, die zu unschönen Ergebnissen in der Darstellung führen.

Widget static HTML

Etwas für die Wunschliste:
Das Eingabefeld 'HTML:' für das Widget ist viel zu klein.
Ev. könnte das grösser sein oder als Popup funktionieren.

Very little documentation

Hi,
I have to say this is one of the coolest things I've found lately and I'm really liking it so far.
Unfortunately it's not that easy to move forward since there's little to no information available :-(

Is there any place one can check what's the correct payload to send for each different widget?

PS: I just realized I should probably have posted this on the node-red branch https://github.com/GermanBluefox/node-red-vis

some states not loading: Trying to get empty list, because the whole list could not be loaded

Hi,

for a while now (several months? not quite sure..) I have an issue of some states to not load. I didn't investigate this further as I didn't had to remotely change the temperature at home, but now as it's getting colder I started looking into this issue ;)

I am running ioBroker on my webserver in a docker container behind a nginx reverse proxy handling http2 and https, not sure if it's related to my symptoms or not. I am using SliderTabs to separate the different rooms / floors.

I figured out that the section at 3a71ab4#diff-cac666adcc96f99ac47921351950e570R605 seems to cause that some states are not loading, as I saw the entry Trying to get empty list, because the whole list could not be loaded in the console. When I comment out the IDs = []; assignment everything works fine for me.

I figured out that getStates is called multiple times, and mostly while an older request is still pending. So it seems reasonable in my case that this.gettingStates is indeed bigger than 1 and I don't think this should be limited to a single "getStates" call at a time in my case?

After some manual peeking with breakpoints I added console.log statements to get a timeline of the getStates calls (my line 698) and it's calls of the supplied callback (my line 718):

conn.js loaded at 1513350629.118

conn.js:698 getStates: Array(71) this.gettingStates=0 at 1513350629.602
conn.js:718 getStates completed call from 1513350629.602 at 1513350629.614
conn.js:698 getStates Array(8)  this.gettingStates=0 at 1513350629.844
conn.js:698 getStates Array(9)  this.gettingStates=1 at 1513350629.847
conn.js:698 getStates Array(9)  this.gettingStates=2 at 1513350629.849
conn.js:698 getStates Array(7)  this.gettingStates=3 at 1513350629.852
conn.js:698 getStates Array(38) this.gettingStates=4 at 1513350629.854
conn.js:718 getStates completed call from 1513350629.844 at 1513350629.868
conn.js:718 getStates completed call from 1513350629.847 at 1513350629.941
conn.js:718 getStates completed call from 1513350629.849 at 1513350630.006
conn.js:718 getStates completed call from 1513350629.852 at 1513350630.068
conn.js:718 getStates completed call from 1513350629.854 at 1513350630.116

btw, while manually debugging I noticed errors on this._socket.emit (socket closing / already closed). This only happened when I paused the execution via the debugger, therefore I suspect a timeout of the websocket. It might be worth catching the error caused by the emit function and incrementing this.gettingStates only afterwards when the request could be sent..

Widget ctrl-Icon State

Wenn das Icon aktiv ist kann es ausgewählt werden und es verändert den Status nach inaktiv.
Dies sollte unterbunden werden, da das Icon nur als Status Anzeige dienen soll.

Eine Änderung von inaktiv nach aktiv ist nicht möglich. Dies ist korrekt so.

Tippfehler widget static image

Ein Text im Widget 'static image', Sektion 'Allgemein' ist falsch:
'Streken' => 'Strecken'

Der Titel im Widget 'static image', Sektion 'CSS Shatten und Abstand' ist falsch:
'CSS Shatten und Abstand' => 'CSS Schatten und Abstand'

Der Titel im Widget 'static image', Sektion 'CSS Border (border-...)' ist nicht übersetzt.
'CSS Border (border-...)' -Vorschlag-> 'CSS Ränder (border-...)'
[Die betrifft mehrere Widgets...]

Metro: Navigation löst auch auf Folgeseite Tastendruck aus

http://forum.iobroker.org/viewtopic.php?f=30&t=1257

MoiN!

Ich hoffe ich bekomme mein Problem sauber beschrieben:
Plattform Android 5.x
Browser: Chrome

Ich verwende die Metro-Navigation-Widgets. Wenn jetzt auf der anzusteuernden Seite an der Stelle des Navigation-Widgets z.B. ein Toggle Widget ist wird dieses beim Seitenwechsel auch ausgelöst...anscheinend wird der "Fingerdruck nicht beim Seitenwechsel zurückgesetzt"....

... frei formuliert...

Kann man da etwas gegen tun?

bis denne
MrLEe

Spaltenbreite bei Objekt auswahl

Wenn man in VIS ein Objekt zu einem Widget auswählen will kommt ein eigener Dialog.
In diesem Dialog ist die Spaltenbreit für den Namen zu gering. Aus diesem Grund ist es teilweise schwierig das richtige Objekt zu identifizieren.

2015-08-09 07_48_53-iobroker vis

Comboboxen im Property-Bereich

Einige Comboboxen im Property-Bereich werden als Textboxen angezeigt (z.B. font-weight, font-familiy, font-size, und weitere)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.