Different Dashboard for any users

Different dashboard for different users with HabPanel, Is it possible? I want Every user has only own dashboard.
Second question:
I have dashboard with name “main overview” and I want link from this dashboard(main overview) to another dashboard, it is possible?

Not currently possible unless you create separate boards and control access to each one using a reverse proxy like nginx.

I’m not completely familiar with Habpanel, it keeps changing so fast (this is a good thing), but I don’t think there is a way to link dashboards in the way you describe.

Coming soon hopefully :slight_smile:

I also have a feature about to be posted including the ability of setting the current dashboard using an item (latest crazy idea of mine, I wanted a certain dashboard to automatically show up on week days in my foyer when I’m about to go to work ;)).

Video of the feature here: https://twitter.com/yschaus/status/784393871346335744

Incidentally a regular Button setting the item to the name of a dashboard will, in effect, act as a link.
I tried on an iPad earlier and the settings page breaks, that’s the only reason why it’s not on GitHub right now.

Granted, a proper action with a dropdown menu no trick with an item should also be available.

(edit: the above set of changes is merged and should work on iOS)

Cool, I will try this out this afternoon!

@ysc Could you comment on how you are doing the TTS speech on the tablet? Is it Tasker or something?

I’m building a string and update the item monitored by HABPanel (in the advanced settings) within a rule on the server.

    var myDec = Waze_TravelTime.averageSince(now.minusMinutes(1)) as DecimalType
    //if (now.getHourOfDay < 10 && now.getDayOfWeek > 0 && now.getDayOfWeek< 6) {
      postUpdate(VoiceFeedback, "Away mode engaged. Temperature: " + Outside_Temperature.state + " degrees, travel time to work: " + myDec.intValue + " minutes. Have a nice day!")
      postUpdate(VoiceFeedback, "")
    //}

The actual speech is handled by your browser (works in Safari and Chrome) - http://caniuse.com/#feat=speech-synthesis

There is great work (refactoring and new features) underway at ESH around voice and audio, maybe the item won’t be necessary in the future (and you’ll simply use the say() function)

@ysc - Yannick, would you please share how you queried the Waze API and rules/logic behind your Waze_TravelTime functionality?

I am implementing the changing Dashboard with an embedded Waze Live map, I would like to display & calculate on the drive time to a location (kids school & work).

Tony

It might not be cool with Waze’s TOS, but here you go, you didn’t get this from me (he says publicly) :slight_smile:

You need the HTTP binding and the JavaScript transform add-on.

conf/items/waze.items (replace from/to with your actual longitudes/latitudes)

Number Waze_TravelTime "Travel Time to Work" {http="<[https://www.waze.com/row-RoutingManager/routingRequest?from=x:5.xxxxxx+y:49.yyyyyy&to=x:6.aaaaaa+y:49.bbbbbb&at=0&returnJSON=true&returnGeometries=true&returnInstructions=true&timeout=60000&nPaths=1&options=AVOID_TRAILS:t{Referer=https://www.waze.com}:60000:JS(waze.js)]"}

conf/transform/waze.js

(function (val) {
  var json = JSON.parse(val);

  var out = 0;

  for (var i = 0; i < json.response.results.length; i++) {
    out += json.response.results[i].crossTime;
  }

  return out/60;

})(input)
2 Likes