• Recent
    • Tags
    • Popular
    • Register
    • Login
    1. Home
    2. Jared Wiltshire

    Please Note This forum exists for community support for the Mango product family and the Radix IoT Platform. Although Radix IoT employees participate in this forum from time to time, there is no guarantee of a response to anything posted here, nor can Radix IoT, LLC guarantee the accuracy of any information expressed or conveyed. Specific project questions from customers with active support contracts are asked to send requests to support@radixiot.com.

    Radix IoT Website Mango 3 Documentation Website Mango 4 Documentation Website Mango 5 Documentation Website
    • Profile
    • Following 0
    • Followers 3
    • Topics 10
    • Posts 1,210
    • Best 80
    • Controversial 1
    • Groups 1

    Jared Wiltshire

    @Jared Wiltshire

    83
    Reputation
    3.1k
    Profile views
    1.2k
    Posts
    3
    Followers
    0
    Following
    Joined Last Online
    Website radixiot.com/ Location Colorado, USA

    Jared Wiltshire Unfollow Follow
    administrators

    Best posts made by Jared Wiltshire

    • RE: Very Basic Dashboard Designer Help

      I also had a play with creating a full wind rose in a SVG, posted below if anyone wants it. What it looks like
      0_1542732146913_650b6d07-f285-4ead-903e-1b513c4cd80b-image.png

      <style>
          g.grid circle {
              fill: transparent;
              stroke: grey;
              stroke-width: 1px;
              stroke-dasharray:10,10;
              stroke-opacity: 0.5;
          }
      
          g.direction-cones circle {
              clip-path: url(#cone);
              transform: scale(0);
          }
          
          g.direction-cones circle.scale-1 {
              fill: darkblue;
          }
          
          g.direction-cones circle.scale-2 {
              fill: darkgreen;
          }
          
          g.direction-cones circle.scale-3 {
              fill: green;
          }
          
          g.direction-lines line {
              stroke: grey;
              stroke-width: 1px;
          }
          
          g.direction-text text {
              fill: white;
              text-anchor: middle;
              alignment-baseline: middle;
              font-size: 16px;
          }
          
          #center {
              fill: white;
          }
          
          #north circle.scale-1 {
              transform: scale(0.2);
          }
          #north circle.scale-2 {
              transform: scale(0.7);
          }
          #north circle.scale-3 {
              transform: scale(0.80);
          }
          
          #north-east circle.scale-1 {
              transform: scale(0.25);
          }
          #north-east circle.scale-2 {
              transform: scale(0.5);
          }
          #north-east circle.scale-3 {
              transform: scale(0.70);
          }
          
          #east circle.scale-1 {
              transform: scale(0.5);
          }
          #east circle.scale-2 {
              transform: scale(0.7);
          }
          #east circle.scale-3 {
              transform: scale(0.75);
          }
      
      </style>
      
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="-120 -120 240 240" width="400" height="400">
      
          <g class="grid">
              <circle r="100" />
              <circle r="75" />
              <circle r="50" />
              <circle r="25" />
          </g>
          
          <g class="direction-lines">
              <line x1="0" y1="0" x2="100" y2="0" transform="rotate(0)" />
              <line x1="0" y1="0" x2="100" y2="0" transform="rotate(90)" />
              <line x1="0" y1="0" x2="100" y2="0" transform="rotate(180)" />
              <line x1="0" y1="0" x2="100" y2="0" transform="rotate(270)" />
          </g>
          
          <g class="direction-text">
              <text transform="translate(0,-110)">N</text>
              <text transform="translate(110,0)">E</text>
              <text transform="translate(0,110)">S</text>
              <text transform="translate(-110,0)">W</text>
          </g>
      
          <clipPath id="cone" clip-path="url(#cone-end)">
              <rect width="100" height="100" transform="rotate(-15)"></rect>
          </clipPath>
          
          <clipPath id="cone-end">
              <rect width="100" height="100" transform="rotate(-75)"></rect>
          </clipPath>
          
          <g class="direction-cones" transform="rotate(-90)">
              <g id="north" transform="rotate(0)">
                  <circle class="scale-3" r="100" />
                  <circle class="scale-2" r="100" />
                  <circle class="scale-1" r="100" />
              </g>
              <g id="north-east" transform="rotate(45)">
                  <circle class="scale-3" r="100" />
                  <circle class="scale-2" r="100" />
                  <circle class="scale-1" r="100" />
              </g>
              <g id="east" transform="rotate(90)">
                  <circle class="scale-3" r="100" />
                  <circle class="scale-2" r="100" />
                  <circle class="scale-1" r="100" />
              </g>
              <g id="south-east" transform="rotate(135)">
                  <circle class="scale-3" r="100" />
                  <circle class="scale-2" r="100" />
                  <circle class="scale-1" r="100" />
              </g>
              <g id="south" transform="rotate(180)">
                  <circle class="scale-3" r="100" />
                  <circle class="scale-2" r="100" />
                  <circle class="scale-1" r="100" />
              </g>
              <g id="south-west" transform="rotate(225)">
                  <circle class="scale-3" r="100" />
                  <circle class="scale-2" r="100" />
                  <circle class="scale-1" r="100" />
              </g>
              <g id="west" transform="rotate(270)">
                  <circle class="scale-3" r="100" />
                  <circle class="scale-2" r="100" />
                  <circle class="scale-1" r="100" />
              </g>
              <g id="north-west" transform="rotate(315)">
                  <circle class="scale-3" r="100" />
                  <circle class="scale-2" r="100" />
                  <circle class="scale-1" r="100" />
              </g>
          </g>
      
          <circle id="center" r="5" />
      </svg>
      
      posted in How-To
      Jared WiltshireJ
      Jared Wiltshire
    • RE: Calculating a value in page

      @georgestefan Its absolutely possible. You can just put your formula into a ng-bind attribute

      e.g.

       <div id="13688a40-881d-4956-b42a-14362bbe73ef" style="position: absolute; left: 480px; top: 142px;" ng-bind="(CHW_Flow * (CHW_Return_Temp - CHW_Supply_Temp)*1.8)/24"></div>
      

      However I assume those are actually point values in which case it will probably be more like

       <div id="13688a40-881d-4956-b42a-14362bbe73ef" style="position: absolute; left: 480px; top: 142px;" ng-bind="(flowPoint.value * (returnTempPoint.value - supplyTempPoint.value)*1.8)/24"></div>
      

      You can also wrap expressions with curly braces {{ }}

      <div>
      {{ (flowPoint.value * (returnTempPoint.value - supplyTempPoint.value)*1.8)/24 }}
      </div>
      posted in Dashboard Designer & Custom AngularJS Pages
      Jared WiltshireJ
      Jared Wiltshire
    • RE: Filter Datapoint List Output

      @mattfox said in Filter Datapoint List Output:

      Yeah I can relate there. I group by deviceName personally. Perhaps a format option?
      point-list-format="dname - name - tag"
      or somethign to that effect. that way we can choose what to show. maybe even a callback function we can add to it so we can format the output ourselves...

      Yeah definitely will still be an option to format the labels via an attribute. I was talking more about adding a default setting for point lists which are on built in pages.

      @mattfox said in Filter Datapoint List Output:

      Selfish request here, but would you be willing to share the source so i can manually format it to my liking and create a separate directive?

      The source is all on Github -

      https://github.com/infiniteautomation/ma-dashboards/blob/main/UI/web-src/ngMango/directives/filteringPointList.js
      https://github.com/infiniteautomation/ma-dashboards/blob/main/UI/web-src/ngMango/directives/filteringPointList.html

      posted in Wishlist
      Jared WiltshireJ
      Jared Wiltshire
    • RE: any generic guide to REST API + python?

      For anyone reading this thread, if you use Mango v3.3 you can now generate JWT authentication tokens from the users page on the new UI and use these to authenticate instead of logging in from your script.

      You do not need to use any CSRF/XSRF protection cookies/headers when using JWT authentication.

      Just set the one header on every request -
      Authorization: Bearer <token>

      posted in Dashboard Designer & Custom AngularJS Pages
      Jared WiltshireJ
      Jared Wiltshire
    • RE: Login problem

      Can you open the console in Chrome and tell me if anything is in there?

      posted in Mango Automation general Discussion
      Jared WiltshireJ
      Jared Wiltshire
    • RE: Problems with reloading a custom dashboard and getting a 404.

      Hey @dcaron
      The dashboards do indeed operate a little differently now and we need to update the tutorials.

      The adminTemplate now has the HTML 5 mode URLs enabled in app.js (i.e. no /#/... urls). You should set the base url in index.html to
      <base href="/user-dashboards/custom1/"> and access your dashboards using /user-dashboards/custom1/home or /user-dashboards/custom1/visualizations/charts

      If you want you can disable the HTML 5 mode URLs by setting $locationProvider.html5Mode(false); in app.js, you would then set <base href="/modules/dashboards/web/custom1/"> in index.html and your URLs would look like /modules/dashboards/web/custom1/#/home and /modules/dashboards/web/custom1/#/visualizations/charts

      I'd highly recommend the first option, it gives much shorter nicer URLs.

      posted in User help
      Jared WiltshireJ
      Jared Wiltshire
    • RE: Pop up window (face plate)

      For anyone that finds this thread, you can create a dialog window in Mango 3.6 very easily -

      <ma-button label="Show dialog" ng-click="showDialog = {}"></ma-button>
      
      <ma-dialog show-dialog="showDialog">
          <div>This is the dialog content</div>
      </ma-dialog>
      
      posted in Wishlist
      Jared WiltshireJ
      Jared Wiltshire
    • RE: Charts manual axis and documention

      For anyone else playing for this, its worth noting that if you give a series-x-point attribute it will set the color, type and title according to the point's plot color, plot type and point name respectively. These can be changed on the data point edit page in Mango.

      posted in Dashboard Designer & Custom AngularJS Pages
      Jared WiltshireJ
      Jared Wiltshire
    • RE: Heat map

      @petermcs There is a component in Mango 3.6 to display heat maps like this (they rendered as a SVG in Mango)
      It is also customizable (color scale, legend position, number of weeks etc)

      0_1558457599645_fc072d45-9965-4454-9a8b-99d9df3b4c82-image.png

      posted in Mango Automation general Discussion
      Jared WiltshireJ
      Jared Wiltshire
    • RE: How to draw a chart for only one data point.

      @jefero
      Have a look at the API documentation for ma-point-values you can pass in a point's XID as an attribute.

      posted in User help
      Jared WiltshireJ
      Jared Wiltshire

    Latest posts made by Jared Wiltshire

    • RE: Mango v5.1.4 SSL

      @Jdiaz-co I just reproduced this, this is a bug and we will fix it in the next release. Can I ask why you want to disable SSL? You should be able to access the HTTP port on 8080 even if SSL is enabled.

      If you are having trouble accessing Mango on port 8080, try disabling HSTS using ssl.hsts.enabled=false and clear your browser cache. HSTS tells your web browser to only ever use HTTPS for that website.
      https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security

      posted in Mango Automation Installation
      Jared WiltshireJ
      Jared Wiltshire
    • RE: Release Notes for mangoApi 4.4.2

      This contains an important fix for Mango 4.4, without this fix Mango can become entirely locked up after someone uses the SIMPLIFY option on the REST API.

      posted in Announcements
      Jared WiltshireJ
      Jared Wiltshire
    • RE: Importing lots of data points

      @jim-betsinger

      https://forum.mango-os.com/topic/1150/importing-large-numbers-of-data-points-from-an-excel-spreadsheet

      https://docs-v3.mango-os.com/using-data-point-templates

      posted in User help
      Jared WiltshireJ
      Jared Wiltshire
    • RE: <script> tag not working in Mango V4?

      @ruan-0 I think that previously we were using jQuery to insert the HTML for the custom pages, however we have switched to using jQuery Lite (built into AngularJS). This uses Element.innerHTML to insert the markup and as per the HTML5 spec this should not execute scripts - https://developer.mozilla.org/en-US/docs/Web/API/Element/innerHTML#security_considerations

      I would recommend configuring a user module on the "UI settings" page as an entry point for your custom Javascript.

      posted in Scripting general Discussion
      Jared WiltshireJ
      Jared Wiltshire
    • RE: <script> tag not working in Mango V4?

      @ruan-0 Are you inserting it in a custom page or dashboard designer page? I think I noticed this too, I will look into it for you.

      posted in Scripting general Discussion
      Jared WiltshireJ
      Jared Wiltshire
    • RE: Excel Reports are not showing templates anymore

      @dennisbetty201 Phillip's instructions will not fix this issue. Please see https://forum.mango-os.com/topic/3551/data-sources-does-not-appear/14 or download an old web browser (e.g. standalone Firefox)

      posted in User help
      Jared WiltshireJ
      Jared Wiltshire
    • RE: Apache CVE-2021-44228 log4j Remote Code Execution Vulnerability Resolution

      Update: There is a 3rd vulnerability reported in log4j - CVE-2021-45105

      Mango is not affected by this particular vulnerability as

      • Mango does not use a context lookup in any of the patterns in the supplied log4j2.xml file
      • Our codebase does not make use of the org.apache.logging.log4j.ThreadContext class

      For more information, please see https://logging.apache.org/log4j/2.x/security.html

      Mango will update to Log4J version 2.17.0 with our next release, however we do not believe this new CVE warrants an immediate patch.

      posted in Mango General
      Jared WiltshireJ
      Jared Wiltshire
    • RE: Audible Alarm with silence

      @tungthanh500 have you seen the UI settings at /ui/administration/ui-settings which allow you to choose an audio file? There's no provision to loop an audio file as far as I remember, you would need to create a custom component for this.

      posted in Scripting general Discussion
      Jared WiltshireJ
      Jared Wiltshire
    • RE: [IAS TSDB Backdate Poster] - The backdate poster ran without inserting, , queue size: 73

      @MattFox What it means is this:
      The mangoNoSql module (IasTsdb) is trying to insert backdated values (that is values with timestamps which are older than those already contained in the series and saved to disk)
      This is an expensive operation as it must rewrite the entire shard.
      The TSDB queues the values in memory and tries to write them all out to the shard asynchronously.
      Sometimes when this "backdate poster" thread tries to write the backdated values out the shard is already locked (due to a data source writing current values to the shard), resulting in messages like this.

      posted in Mango feedback
      Jared WiltshireJ
      Jared Wiltshire
    • RE: <SOLVED> Unable to access WEB GUIs for any of my mango devices by DNS name

      @mihairosu the 3.7.9 upgrade contains nothing which would mess with your UI like this, it was a simple dependency update on the backend.

      Have you cleared your browser cache? You should open your dev tools in your browser and see what HTTP request the UI is making when this happens. What it looks like to me is that its making a HTTP request for a JSON file or REST API call which should return JSON but it is getting HTML in response. I would be checking your proxy configuration.

      posted in User help
      Jared WiltshireJ
      Jared Wiltshire