Git Product home page Git Product logo

thingsboard / thingsboard Goto Github PK

View Code? Open in Web Editor NEW
15.6K 549.0 4.8K 238.6 MB

Open-source IoT Platform - Device management, data collection, processing and visualization.

Home Page: https://thingsboard.io

License: Apache License 2.0

Java 60.06% Shell 0.33% JavaScript 2.64% HTML 8.94% Batchfile 0.02% Python 0.04% Dockerfile 0.06% PLpgSQL 0.29% TypeScript 25.13% FreeMarker 0.26% SCSS 2.24% CSS 0.01%
dashboard visualization iot iot-platform mqtt coap middleware netty websockets widgets

thingsboard's Introduction

thingsboard's People

Contributors

andrewvolosytnykhthingsboard avatar andriilandiak avatar artemdzhereleiko avatar artemhalushko avatar ashvayka avatar bohdansmetanyuk avatar chantsovaekaterina avatar dashevchenko avatar deaflynx avatar desoliture1 avatar dmitriymush avatar dmytro-landiak avatar dskarzh avatar ikulikov avatar imbeacon avatar kalutkaz avatar mp-loki avatar mrkartoshka avatar nickas21 avatar rusikv avatar seraphym-tuhai avatar shvaykad avatar smatvienko-tb avatar viacheslavklimov avatar viktorbasanets avatar volodymyr-babak avatar vparomskiy avatar vvlladd28 avatar vzikratyi-tb avatar yevhenbondarenko 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  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

thingsboard's Issues

How to resolve attributes received from devices.

for example, I have a device which can use baseband data, but I can't get the GPS data.
I have got 4 attributes which have been posted to device "TEST_DEVICE"

{
  mcc:460,
  mnc:01,
  lac:57605,
  ci:142884903
}

I have to use a curl to get response from other website like this http://api.cellocation.com/cell/?mcc=460&mnc=01&lac=57605&ci=142884903&output=json

and I got the response like this:

{"errcode":0, "lat":"30.482374", "lon":"114.415634", "radius":"566", "address":"湖北省武汉市洪山区光谷总部国际9栋;光谷大道与凌家山南路路口南355米"}

And finally I should save this json to "TEST_DEVICE"
and display it with map.

https://demo.thingsboard.io/swagger-ui.html is not working due to 'X-Authorization' header.

when "token":"$YOUR_JWT_TOKEN" is passed in Authorize section, but when api call is happen Bearer is not present in request headers.

follwing is the curl call generated by swagger
curl -X GET --header 'Accept: application/json' --header 'X-Authorization: $YOUR_JWT_TOKEN' 'https://demo.thingsboard.io:443/api/tenant/devices?deviceName=30'

When Bearer is given it works as follows
curl -X GET --header 'Accept: application/json' --header 'X-Authorization: Bearer $YOUR_JWT_TOKEN' 'https://demo.thingsboard.io:443/api/tenant/devices?deviceName=30'

So why swagger is not appending "Bearer" in api call.

Dynamic theme capability

Since you are aiming for a multi-tenant PaaS for anyone to utilize I believe a mechanism to re-brand the user interface will be really useful. (Entire UI not just widgets)

You can't stop people from forking and defacing the UI so it's better if you try to "control" it in a reasonable manner. This way one can apply it's own enterprise identity (or his customer's one) and keep the "merge-ability" of the fork, with your last source code version, thus increasing the contributions you will get.

If you make such mechanism that changes the entire look n feel of the platform, it would be great to consider applying/controlling it "dynamically" thus making possible to enable different tenants, or even users, to have a different look n feel. (e.g. multi-site)

In a way you have a similar mechanism for the widgets, so what I am describing could be also controlled within the system, i.e. edit html/css of global look n feel, from a special widget library and associate one widget with every tenant.

Sum/Average aggreagating functions does not work

Having problem with aggregating data in a Timeseries - Flot
min, max, count works correctly
sum, average does not return any value.

Version installed at our server:
sudo dpkg -i thingsboard-1.2.2.deb at debian

What details are needed for you to add?

Thank you for your help.

cannot open Web UI in dev mode

I have succeeded to compile and startup thingsboard web on my local computer. Cassandra is deployed on anthoer machine in same local network.
But when I request "http://localhost:8080/", it return me a error message like this:

Whitelabel Error Page

This application has no explicit mapping for /error, so you are seeing this as a fallback.
Fri Mar 10 18:11:11 CST 2017
There was an unexpected error (type=Not Found, status=404).
No message available

The key error message is:
2017-03-10 18:11:11,110 [http-nio-0.0.0.0-8080-exec-2] ERROR org.apache.velocity - ResourceManager : unable to find resource 'error.vm' in any resource loader.
which output to std of my Intellij.

And here is the complete log output when I request the url "http://localhost:8080/".

Please give me a hand.
Thanks !

2017-03-10 18:11:11,102 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.b.w.f.OrderedRequestContextFilter - Bound request context to thread: org.apache.catalina.connector.RequestFacade@4b415291
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.security.web.FilterChainProxy - / at position 1 of 14 in additional filter chain; firing Filter: 'WebAsyncManagerIntegrationFilter'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.security.web.FilterChainProxy - / at position 2 of 14 in additional filter chain; firing Filter: 'SecurityContextPersistenceFilter'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.security.web.FilterChainProxy - / at position 3 of 14 in additional filter chain; firing Filter: 'HeaderWriterFilter'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.security.web.FilterChainProxy - / at position 4 of 14 in additional filter chain; firing Filter: 'LogoutFilter'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.matcher.OrRequestMatcher - Trying to match using Ant [pattern='/logout', GET]
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/logout'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.matcher.OrRequestMatcher - Trying to match using Ant [pattern='/logout', POST]
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Request 'GET /' doesn't match 'POST /logout
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.matcher.OrRequestMatcher - Trying to match using Ant [pattern='/logout', PUT]
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Request 'GET /' doesn't match 'PUT /logout
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.matcher.OrRequestMatcher - Trying to match using Ant [pattern='/logout', DELETE]
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Request 'GET /' doesn't match 'DELETE /logout
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.matcher.OrRequestMatcher - No matches found
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.security.web.FilterChainProxy - / at position 5 of 14 in additional filter chain; firing Filter: 'RestLoginProcessingFilter'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/api/auth/login'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.security.web.FilterChainProxy - / at position 6 of 14 in additional filter chain; firing Filter: 'JwtTokenAuthenticationProcessingFilter'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.matcher.OrRequestMatcher - Trying to match using Ant [pattern='/index.html']
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/index.html'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.matcher.OrRequestMatcher - Trying to match using Ant [pattern='/static/**']
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/static/**'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.matcher.OrRequestMatcher - Trying to match using Ant [pattern='/api/noauth/**']
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/api/noauth/**'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.matcher.OrRequestMatcher - Trying to match using Ant [pattern='/webjars/**']
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/webjars/**'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.matcher.OrRequestMatcher - Trying to match using Ant [pattern='/api/ws/**']
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/api/ws/**'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.matcher.OrRequestMatcher - Trying to match using Ant [pattern='/api/auth/token']
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/api/auth/token'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.matcher.OrRequestMatcher - Trying to match using Ant [pattern='/api/auth/login']
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/api/auth/login'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.matcher.OrRequestMatcher - Trying to match using Ant [pattern='/api/v1/**']
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/api/v1/**'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.matcher.OrRequestMatcher - Trying to match using Ant [pattern='/webjars/**']
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/webjars/**'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.matcher.OrRequestMatcher - No matches found
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/api/**'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.security.web.FilterChainProxy - / at position 7 of 14 in additional filter chain; firing Filter: 'RefreshTokenProcessingFilter'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/api/auth/token'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.security.web.FilterChainProxy - / at position 8 of 14 in additional filter chain; firing Filter: 'JwtTokenAuthenticationProcessingFilter'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/api/ws/**'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.security.web.FilterChainProxy - / at position 9 of 14 in additional filter chain; firing Filter: 'RequestCacheAwareFilter'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.security.web.FilterChainProxy - / at position 10 of 14 in additional filter chain; firing Filter: 'SecurityContextHolderAwareRequestFilter'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.security.web.FilterChainProxy - / at position 11 of 14 in additional filter chain; firing Filter: 'AnonymousAuthenticationFilter'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.a.AnonymousAuthenticationFilter - Populated SecurityContextHolder with anonymous token: 'org.springframework.security.authentication.AnonymousAuthenticationToken@9055c2bc: Principal: anonymousUser; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@b364: RemoteIpAddress: 0:0:0:0:0:0:0:1; SessionId: null; Granted Authorities: ROLE_ANONYMOUS'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.security.web.FilterChainProxy - / at position 12 of 14 in additional filter chain; firing Filter: 'SessionManagementFilter'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.security.web.FilterChainProxy - / at position 13 of 14 in additional filter chain; firing Filter: 'ExceptionTranslationFilter'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.security.web.FilterChainProxy - / at position 14 of 14 in additional filter chain; firing Filter: 'FilterSecurityInterceptor'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/webjars/**'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/api/v1/**'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/api/auth/login'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/api/auth/token'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/index.html'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/static/**'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/api/noauth/**'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/api/ws/**'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/api/**'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.a.i.FilterSecurityInterceptor - Public object - authentication not attempted
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.security.web.FilterChainProxy - / reached end of additional filter chain; proceeding with original chain
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/api/auth/login'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.matcher.OrRequestMatcher - Trying to match using Ant [pattern='/index.html']
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/index.html'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.matcher.OrRequestMatcher - Trying to match using Ant [pattern='/static/**']
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/static/**'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.matcher.OrRequestMatcher - Trying to match using Ant [pattern='/api/noauth/**']
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/api/noauth/**'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.matcher.OrRequestMatcher - Trying to match using Ant [pattern='/webjars/**']
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/webjars/**'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.matcher.OrRequestMatcher - Trying to match using Ant [pattern='/api/ws/**']
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/api/ws/**'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.matcher.OrRequestMatcher - Trying to match using Ant [pattern='/api/auth/token']
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/api/auth/token'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.matcher.OrRequestMatcher - Trying to match using Ant [pattern='/api/auth/login']
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/api/auth/login'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.matcher.OrRequestMatcher - Trying to match using Ant [pattern='/api/v1/**']
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/api/v1/**'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.matcher.OrRequestMatcher - Trying to match using Ant [pattern='/webjars/**']
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/webjars/**'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.matcher.OrRequestMatcher - No matches found
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/api/**'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/api/auth/token'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.u.m.AntPathRequestMatcher - Checking match of request : '/'; against '/api/ws/**'
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.web.servlet.DispatcherServlet - DispatcherServlet with name 'dispatcherServlet' processing GET request for [/]
2017-03-10 18:11:11,103 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.w.s.m.m.a.RequestMappingHandlerMapping - Looking up handler method for path /
2017-03-10 18:11:11,106 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.w.s.m.m.a.RequestMappingHandlerMapping - Did not find handler method for [/]
2017-03-10 18:11:11,106 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.w.s.h.SimpleUrlHandlerMapping - Matching patterns for request [/] are [/**]
2017-03-10 18:11:11,106 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.w.s.h.SimpleUrlHandlerMapping - URI Template variables for request [/] are {}
2017-03-10 18:11:11,106 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.w.s.h.SimpleUrlHandlerMapping - Mapping [/] to HandlerExecutionChain with handler [ResourceHttpRequestHandler [locations=[ServletContext resource [/], class path resource [META-INF/resources/], class path resource [resources/], class path resource [static/], class path resource [public/]], resolvers=[org.springframework.web.servlet.resource.PathResourceResolver@6e2580e5]]] and 1 interceptor
2017-03-10 18:11:11,106 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.web.servlet.DispatcherServlet - Last-Modified value for [/] is: -1
2017-03-10 18:11:11,106 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.h.writers.HstsHeaderWriter - Not injecting HSTS header since it did not match the requestMatcher org.springframework.security.web.header.writers.HstsHeaderWriter$SecureRequestMatcher@5a71aeee
2017-03-10 18:11:11,106 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.web.servlet.DispatcherServlet - Null ModelAndView returned to DispatcherServlet with name 'dispatcherServlet': assuming HandlerAdapter completed request handling
2017-03-10 18:11:11,106 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.web.servlet.DispatcherServlet - Successfully completed request
2017-03-10 18:11:11,106 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.a.ExceptionTranslationFilter - Chain processed normally
2017-03-10 18:11:11,106 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.s.w.c.SecurityContextPersistenceFilter - SecurityContextHolder now cleared, as request processing completed
2017-03-10 18:11:11,106 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.b.w.f.OrderedRequestContextFilter - Cleared thread-bound request context: org.apache.catalina.connector.RequestFacade@4b415291
2017-03-10 18:11:11,106 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.web.servlet.DispatcherServlet - DispatcherServlet with name 'dispatcherServlet' processing GET request for [/error]
2017-03-10 18:11:11,106 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.w.s.m.m.a.RequestMappingHandlerMapping - Looking up handler method for path /error
2017-03-10 18:11:11,107 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.w.s.m.m.a.RequestMappingHandlerMapping - Returning handler method [public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)]
2017-03-10 18:11:11,107 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.b.f.s.DefaultListableBeanFactory - Returning cached instance of singleton bean 'basicErrorController'
2017-03-10 18:11:11,107 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.web.servlet.DispatcherServlet - Last-Modified value for [/error] is: -1
2017-03-10 18:11:11,109 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.w.s.v.ContentNegotiatingViewResolver - Requested media types are [text/html, text/html;q=0.8] based on Accept header types and producible media types [text/html])
2017-03-10 18:11:11,109 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.b.f.s.DefaultListableBeanFactory - Returning cached instance of singleton bean 'error'
2017-03-10 18:11:11,110 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.b.f.s.DefaultListableBeanFactory - Returning cached instance of singleton bean 'velocityConfigurer'
2017-03-10 18:11:11,110 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.b.f.s.DefaultListableBeanFactory - Invoking afterPropertiesSet() on bean with name 'error'
2017-03-10 18:11:11,110 [http-nio-0.0.0.0-8080-exec-2] ERROR org.apache.velocity - ResourceManager : unable to find resource 'error.vm' in any resource loader.
2017-03-10 18:11:11,110 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.w.s.view.velocity.VelocityView - No Velocity view found for URL: error.vm
2017-03-10 18:11:11,110 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.w.s.v.ContentNegotiatingViewResolver - Returning [org.springframework.boot.autoconfigure.web.ErrorMvcAutoConfiguration$SpelView@70f9be28] based on requested media type 'text/html'
2017-03-10 18:11:11,110 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.web.servlet.DispatcherServlet - Rendering view [org.springframework.boot.autoconfigure.web.ErrorMvcAutoConfiguration$SpelView@70f9be28] in DispatcherServlet with name 'dispatcherServlet'
2017-03-10 18:11:11,110 [http-nio-0.0.0.0-8080-exec-2] DEBUG o.s.web.servlet.DispatcherServlet - Successfully completed request

How to contribute - Developers guide

Its good you have building from source instructions, but that's not enough to help developers understand whats under the hood. Therefore a guide on setting up a recommended development environment will greatly boost contributions but more importantly help devs pick up your work/approach and also avoid asking your support for simple stuff.

Ideally I would like instructions for: IDE setup, Building, Running and Debugging for application/core but also UI front-end. I assume the latter will have some additional steps due to the use of node.js

I believe you will attract more people/contributions this way, than just adding more features to the already very rich platform you have created! (at least that was my experience with OpenHAB)

Chart not stacking

Hi. Noticed that this graph was stacking selectively. The yellow and green bars have similar values. My cursor reveals the underlying green bar.

image

Enjoying all the features in the new 1.2.2 :)

RabbitMQ Plugin: Able to manually specify 'Content-Type' and 'Routing-key' in interface

I would like to specify the content-type and routing-key when a rule sends its output to rabbitmq in
Rules -> Rule Details -> Plugin Action

I would like to be able to specify that the object is 'application/json' for example and has a routing-key which should be able to include fields like id/name of the object being sent.

Attached is the screenshot of the fields which are currently editable where I would like the fields to be added:
screen shot 2017-03-16 at 09 37 52

cannot get web UI started

After following directions at https://thingsboard.io/docs/user-guide/install/linux/, including Oracle JDK8, i am not getting a response on the web side. Additionally, i am getting the following errors:

2017-01-26 03:49:35,344 [main] ERROR o.s.boot.SpringApplication - Application startup failed
2017-01-26 03:59:19,767 [main] ERROR o.s.boot.SpringApplication - Application startup failed
2017-01-26 04:04:08,063 [Thingsboard Cluster-reconnection-0] ERROR c.d.driver.core.ControlConnection - [Control connection] Cannot connect to any host, scheduling retry in 1000 milliseconds
2017-01-26 04:04:09,064 [Thingsboard Cluster-reconnection-0] ERROR c.d.driver.core.ControlConnection - [Control connection] Cannot connect to any host, scheduling retry in 2000 milliseconds
2017-01-26 04:04:11,875 [main] ERROR o.s.boot.SpringApplication - Application startup failed

Any help would be greatly appreciated. Moving on from the digital ocean "phant" server, looking forward to having a more capable and better supported system up and running.

Additionally, i was not able to install any of the database schema / initial data. Not sure if these issues are related...

thanks
dan

Adminstration login

Where I can find user/pass for the adm account?
Only Tenant account in docs. No access to system settings.
tks

Cannot select UI widget, when creating a new dashboard

When given the option to select a UI widget, I need to do multiple double fast clicks, for a widget to be selected and a configuration to pop up.
On slow computers its impossible to select a widget.
Maybe you have multiple onclick listeners "stealing" the click action ?

Thingsboard POM update for Kafka

Using 0.9.0.0 version in pom gives build error as
[ERROR] Failed to execute goal on project extension-kafka: Could not resolve dependencies for project org.thingsboard.extensions:extension-kafka:jar:1.2.3-SNAPSHOT: Could not transfer artifact org.apache.kafka:kafka-clients:jar:0.9.0.0 from/to central (http://repo1.maven.org/maven2/): TransferFailedException: ClientProtocolException: The server failed to respond with a valid HTTP response -> [Help 1]

Changing the version to 0.10.2.0 fixed the issue for me.

"Other Mail Properties" required in Outgoing Mail Setup for sys admin

New to this so might be inaccurate..

Cannot add
"mail.smtp.starttls.enable = true"
as additional property, causing the following error:

Unable to send mail: Failed messages: com.sun.mail.smtp.SMTPSendFailedException: 530 5.7.0 Must issue a STARTTLS command first. 17sm8107443wru.16 - gsmtp

Dashboards not showing any data - failed session

Hello again,

i sometimes have the issue that i open my dashboard which contains data from multiple devices (4 at the moment) and it does not show any data. It looks like this:

image

What i can do to fix the error is going to edit mode -> opening the "Device aliases" - not changing anything -> exit and apply changes -> after refreshing the page with F5 all data is displayed correct

image

image

This happend to me multiple times, no metter which Type i use (Analog Gauge, Charts, Digital Gage). I have the feeling it only happens when multiple device telemetry elements are placed on one Dashboard.

What i found was these lines in the thingsboard.log

2017-01-04 23:46:47,196 [http-nio-0.0.0.0-8080-exec-3] WARN o.t.s.c.p.PluginWebSocketHandler - [19] Failed to find session
2017-01-04 23:46:47,200 [Akka-plugin-dispatcher-18474] WARN o.t.s.c.p.PluginWebSocketHandler - [6ee73b70-aebe-4703-98ca-59bc6c1745a2] Failed to find session by external id
2017-01-04 23:46:47,204 [Akka-plugin-dispatcher-18474] WARN o.t.s.c.p.PluginWebSocketHandler - [6ee73b70-aebe-4703-98ca-59bc6c1745a2] Failed to find session by external id
2017-01-04 23:46:47,204 [Akka-plugin-dispatcher-18474] WARN o.t.s.c.p.PluginWebSocketHandler - [6ee73b70-aebe-4703-98ca-59bc6c1745a2] Failed to find session by external id
2017-01-04 23:46:47,205 [Akka-plugin-dispatcher-18474] WARN o.t.s.c.p.PluginWebSocketHandler - [6ee73b70-aebe-4703-98ca-59bc6c1745a2] Failed to find session by external id

Thingsboard is installed on Ubuntu 16.04.1 x64 Serverversion.
thingsboard-1.0.2.deb
Client: Windows 10 x64 with Chrome Version 55.0.2883.87 m (64-bit)

Any Idea whats wrong?

Simplify mnemoscheme creation workflow

Thingsboard would greatly benefit from adding the capability to render the state of sensors as an overlay on top of a schematic diagram.

For example, if I have a farm with some pipes in it, I would like to be able to upload a pipe diagram (it could be an actual photo of the farm too) and drag and drop widgets onto their physical places in that image. This allows a farmer to perceive the state of the farm quicker, because the locations of the widgets are mapped to their actual locations in the farm.

In contrast, a stack of widgets on a screen is a higher degree of abstraction, thus the end user has to go through some additional cognitive load in order to mentally map the widget to an actual sensor in their system.

For such a style of visualization, it would be better if the widget is only displayed as an actual reading (e.g. the temperature and the units), instead of a fully blown widget, because otherwise the screen will get cluttered.

REST API Call Plugin possibility to set HTTP header values

When I create my own REST API Call Plugin to 3rd party services, I want to set custom HTTP header values.
For instance, I faced a problem that there is no way to set "Content-Type" : "application/json" for my REST API call originating from Thingsboard to 3rd party services.
Without correct HTTP headers my REST calls fail to 3rd party services and I have to use proxies to add correct headers. That's not a major problem for me, butt would be nice to fix/improve Thingsboard UI.

AccessDenied when install on windows.

2017-04-15 12:56:25,864 INFO - Starting ServiceWrapper in the CLI mode
2017-04-15 12:56:26,020 FATAL - WMI Operation failure: AccessDenied
WMI.WmiException: AccessDenied
在 WMI.WmiRoot.BaseHandler.CheckError(ManagementBaseObject result)
在 WMI.WmiRoot.ClassHandler.Invoke(Object proxy, MethodInfo method, Object[] args)
在 WMI.Win32ServicesProxy.Create(String , String , String , ServiceType , ErrorControl , StartMode , Boolean , String , String , String[] )
在 winsw.WrapperService.Run(String[] _args, ServiceDescriptor descriptor)
在 winsw.WrapperService.Main(String[] args)
2017-04-15 16:36:00,375 INFO - Starting ServiceWrapper in the CLI mode
2017-04-15 16:36:00,813 FATAL - WMI Operation failure: AccessDenied
WMI.WmiException: AccessDenied
在 WMI.WmiRoot.BaseHandler.CheckError(ManagementBaseObject result)
在 WMI.WmiRoot.ClassHandler.Invoke(Object proxy, MethodInfo method, Object[] args)
在 WMI.Win32ServicesProxy.Create(String , String , String , ServiceType , ErrorControl , StartMode , Boolean , String , String , String[] )
在 winsw.WrapperService.Run(String[] _args, ServiceDescriptor descriptor)
在 winsw.WrapperService.Main(String[] args)

How to copy widgets?

Hello Developers,

in the changelog i read that you added the ability to copy and paste widgets. How can i do that? In which menu is the option available?

Thanks.

Logic Unit

Eg.: Sending a message to a board, when sensor value of another board is over a threshold. In my case: controlling a gpio on a Raspberry Pi 2 depending on sensor value from LattePanda (another device) directly via Thingsboard. The LattePanda is streaming sensor values to the Thingsboard platform. The LED connected to a GPIO on a Raspberry Pi 2 could be controlled via the platform. Now I want to create a logic unit, where you can say, turn on LED of board A when temperature sensor is more than 20 degrees centigrade on board B. This can't be done nowadays via the platform directly. This is what I will try to implement.

See what version of server is running

After deploying a few times from source, we are already confused on which version we are actually running.
Is there a way to know ? maybe have a API call which returns some system info or somewhere in the admin user backend ?

How to controll device

we can collect data from device, but I want to controll device, such as turn off light, how to do?

Run dashboard over https by default

I am running the AWS image and even after enabling https in the security group the web admin UI is not accepting traffic over https. This is becoming the default for all website and is especially important since emails/password forms are being filled out.

Historical data not being pulled.

I did a fresh install of thingsboard 1.2.2 on ubuntu and for some reason my dashboard trends aren't getting updated with historical data (only real-time). However, my other box, which I upgraded to 1.2.2 still works. Not sure whats wrong ....

Bug: REST API Call Plugin "Base Path" configuration change does not work in UI

Steps to reproduce:

  1. Log in as tenant administrator
  2. Create new REST API Call plugin with valid host, port and base path settings
  3. Create a rule which uses REST API Call plugin
  4. Activate both rule and REST API Call Plugin
  5. Verify that REST API Plugin successfully connects to host specified in STEP 2
  6. Change Base Path to some other
  7. Suspend both REST API Plugin and a Rule
  8. Activate both REST API Plugin and a Rule
  9. Plugin is still using base path created in step 2, although UI shows a new base path
  • Probably same problem happens with hostname and port, not tested
  • Changes apply only after Thingsboard service restart

How to include a new map?

There is some problem in openstreet
and the GFW have fucked off the Google Map...
So I wanna to include a new map like BAIDU Map which works fine in China, and also provides APIs.
Is there a document to introduce how to include new map js?

Facilitate localization

I would like to contribute to the project by translating the user interface to Romanian. It would be great if the entry barrier for translators were lowered, here is what could help me get started:

  • a "How to contribute" guide that explains (1) how to create a new locale, (2) which files to edit, (3) what tools to use and (4) how to test the translation. Having looked around the source I think that this is where all the strings are, but I am not sure: https://github.com/thingsboard/thingsboard/blob/master/ui/src/app/locale/locale.constant.js.
  • Thingsboard could register at Transifex, or a similar site, where people could contribute translations via a nice web-interface (the previously described method requires one to know git in order to make a fork, then send a pull request with a translation)
  • Or maybe use some other tool like Stringlate (though this one is Android-only), which would allow anyone who speaks a foreign language do the translation, while having no programming skills.

I still experience the similar build error in application module

Hi, Andrew, I still experience the similar build error in application module:

Error:(28, 42) java: cannot find symbol symbol: class ClusterRpcServiceGrpc location: package org.thingsboard.server.gen.cluster

I checked the folder application\src\main\proto, it seems that there is no proto file for class ClusterRpcServiceGrpc, is this file missing? thanks.

How to contribute language localization?

The newest version 1.2.2 supported Korean Localization.
I want to contribute other language localizations, for example: Chinese Localization.
The problem is, how do I do ?

Have any documention for language contributor ?
Thanks.

Document password requirements

After a bunch of troubleshooting it looks like the "Change password" form doesn't have the same requirements as the login form. e.g. I am able to create a password with an & symbol in it but when I try to log in it does not work.
Sometimes I get a Invalid username or password message and sometimes I don't.
In all cases I get a POST /api/auth/login 401 () error in the console.

I am running Chrome 57 on a Mac.

The password creation and reset forms should have password requirements documented and a warning about not meeting these requirements should be thrown when not met.

  1. How long can a password be?
  2. How long does a password have to be?
  3. What characters are required?
  4. What characters are not allowed?

build error: org.thingsboard.server.extensions.core.plugin.telemetry.gen.TelemetryPluginProtos does not exist

Hi,

I clone the thingsboard code, import it into intellij IDEA maven project and build it, everything is ok but when building the extensions-core module there is error occurs, as following:

Error:(28, 1) java: package org.thingsboard.server.extensions.core.plugin.telemetry.gen.TelemetryPluginProtos does not exist
Error:(155, 20) java: cannot find symbol
symbol: class SubscriptionUpdateProto
location: class org.thingsboard.server.extensions.core.plugin.telemetry.handlers.TelemetryRpcMsgHandler
Error:(180, 40) java: cannot find symbol
symbol: class SubscriptionUpdateProto
location: class org.thingsboard.server.extensions.core.plugin.telemetry.handlers.TelemetryRpcMsgHandler
Error:(202, 13) java: cannot find symbol
symbol: class AttributeUpdateProto
location: class org.thingsboard.server.extensions.core.plugin.telemetry.handlers.TelemetryRpcMsgHandler
Error:(232, 42) java: cannot find symbol
symbol: class AttributeUpdateValueListProto
location: class org.thingsboard.server.extensions.core.plugin.telemetry.handlers.TelemetryRpcMsgHandler

Any idea to fixed this build issue? thanks.

Running on RPi3 and sometimes cannot start up correctly.

when check with the thingsboard.out file, I found this:
Java HotSpot(TM) Client VM warning: You have loaded library /tmp/libnetty-transport-native-epoll3366333240533337390.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c ', or link it with '-z noexecstack'.

how to fix this problem?

Search Device issue

I've crated a new device called 'MqttCarDevice' then i've tryed to search it via search feature in device page and the result for search is 3 devices with same name !, and i'am sure i've created only one device !

kafka plugin body template don't work

I used the kafka plugin to intergrate thingsboard and my app. The kafka plugin worked fine, but occasionally it delivered the wrong value. It is a problem that the body template is published as it is.
When I set the body template to {"humidity-1": $humidity-1.valueAsString}, it is usually passed as '{"humidity-1": 33}'. However, sometimes it is passed as' {"humidity-1 ": $humidity-1.valueAsString}'.

Is there a plan to fix this or is there a way to avoid it?

RPI GPIO Sample Application Link not working

Hello again,

i have just seen your updated documentation, and i was interested in the GPIO Sample and found an URL in the documentaion that is not working.

Both URLs (same target URL) are not working:
Found on page: http://thingsboard.io/docs/samples/demo-account/
URLs are leading to: http://thingsboard.io/docs/samples/demo-account/docs/samples/raspberry/gpio/

image

From the Navigation Tree i think this would be the correct one:
http://thingsboard.io/docs/samples/raspberry/gpio/

Greetings Core

Changing min and max values in gauges - unable to enter minus '-' sign

Hello Developers,

i started using thingsboard this week, and i noticed something while playing with it. I tried changing the max and min values for one of the gauges, but was not able to enter the minus sign "-" in the Minimum value Field. I had to use the Scrollwheel or the up and down arrows to achive neagtive values.

image

Systeminfo:
Ubuntu 16.04.1 x64 Serverversion
thingsboard-1.0.2.deb

If you need more Information please let me know, i will provide it then.
Greetings from Germany.

Note: I updated my post, because i found the option to reduce the ticks, which solved one descriped problem.

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.