Jump to content

Thorsten Vogt

Super Seeqer
  • Content Count

    103
  • Joined

  • Last visited

  • Days Won

    34

Thorsten Vogt last won the day on May 4

Thorsten Vogt had the most liked content!

Community Reputation

78 Excellent

3 Followers

Personal Information

  • Company
    Werusys GmbH & Co. KG
  • Level of Seeq User
    Seeq Advanced

Recent Profile Visitors

1,454 profile views
  1. Hi Rosa, have you tried keeping just the calculated signal in the list of signals used for the export? Using the OData Feed URL for Excel (I do not have Power BI) just exports 30 values. Regards, Thorsten
  2. Hi Pat, you may use within() fo this. The following example keeps only the portions of the signal where the value of the signal is above 65: Regards, Thorsten
  3. Hi Ingrid, you try to use splice on a scalar, which is available since R51. In lesser versions you can apply splice only on signals, so changing $h to a signal first should resolve the issue: $h.tosignal().splice($l, $lfc) Regards, Thorsten
  4. Hi Aaron, you can use a formula for this. The following example calculates the total duration of all capsules of the operation condition since 06 Mar 2021 up to now. The result is a scalar. $operation.aggregate(totalDuration('h'), capsule('2021-03-06T00:00:00Z', now())) Another option would be creating a condition that can be used in the "Signal from Condition" tool. You have to select an appropriate maximum capsule duration for the condition: condition(30d, capsule('2021-03-06T00:00:00Z', now())) A more dynamic way would be calculating the duration based on the
  5. In this case you may change the aggregation function from totalized() to delta().
  6. Hi Robin, you can use toCondition() on the Product ID Signal. This will create a condition with capsules each time the value changes. Then you can use Signal from Condition to get the desired values for each capsule. In the following example I calculate the used energy during each compressor stage: Regards, Thorsten
  7. Hi Vladimir, you can add another boundary to the signal. When choosing "Other" as the relation type a dashed line will be added to the display. In case you only want to have the dashed line for the range where the limits are equal you can create another signal for that and chosse this as the boundary: Will this work for you? Regards, Thorsten
  8. Hi Stephanie, yes, there a multiple solutions. I guess the easiest one is using the shifts() function: //Create shift at 05:30 and combine with shift at 17:30 shifts(5.5, 12h).combineWith(shifts(17.5, 12h)) You could also use periods together with move() or a startdate of the initial shift //Create a 12h capsule every 12hs and move to 05:30 / 17:30 periods(12h, 12h).move(5.5h) //Create a 12h capsules every 12hs based on the specified date periods(12h,12h, '2021-01-01T05:30:00+01:00') In order to create just two capsules based on the current date you may use the following f
  9. The API shown above returns the data in JSON format. To create a CSV file you - can write some custom code making use of the Seeq SDKs (here Python) import seeq_sdk as sdk import csv # login prompt definition def get_authenticated_client(api_url): api_client = sdk.ApiClient(api_url) auth_api = sdk.AuthApi(api_client) auth_input = sdk.AuthInputV1() auth_input.username = <username> auth_input.password = <password> auth_input.auth_provider_class = "Auth" auth_input.auth_provider_id = "Seeq" auth_api.login(body=auth_input) return api_clie
  10. Hi Vegini, I guess there are two ways to accomplish this. First one is using Seeq CLI using the command seeq datasource items on the Seeq server. As you can see below you are able to filter for specific datasources you are interested in and also export the results to a .csv file. To get the name, class or id of a datasource you can execute seeq datasource list first to get the desired information to be used for filtering: More information on the CLI can be found here: https://seeq.atlassian.net/wiki/spaces/KB/pages/215384254/Seeq+Server+Command+Line+Interface+
  11. Hi Mike, by default the size of the tiles reflects the number of assets under the specific asset. In this example, as Cooling Tower 1 has more assets belonging it then Cooling Tower 2, the area of the rectange is bigger: Assets below Cooling Tower 1: Assets below Cooling Tower 2: As you may notice the shape of the rectangles for Area J and K in Cooling Tower 1 is different from the other rectangles, although the size is the same. Resizing the browser circumvents this issue and displays the rectangles all in the same shape: You can override the s
  12. Hi Robin, as I understood you want to have the sum of the values at ~ 9 am and ~ 3 pm as the value for the batch 22091 NR. Therefore I changed the last formula of my previous post: $batch.removeLongerThan(1wk).tosamples($capsule -> { $maxFirst = $capsulesForCounter.toGroup($capsule).first().property('CounterValue') $sumOfMax = $capsulesForCounter.toGroup($capsule).reduce(0, ($r, $x) -> $r + $x.property('CounterValue')) sample($capsule.startKey(), $sumOfMax-$maxFirst) }, 1d).tostep(1wk) Regards, Thorsten
  13. Hi Robin, you may try the following way. I tried to set up an environment, that represents your data. In the first step I created a condition for each batch: As you can see the "Counter" signal is increasing after the end of the batch. Next I created capsules for the periods between every counter reset using formula. For each capsule the maximum value is stored as a property: ($counter.runningDelta() < 0).afterStart(0s).inverse().removeLongerThan(1wk).transform($c -> $c.setproperty('CounterValue', $counter.maxValue($c))) In the last step I used another formul
  14. Hi Bella, you can chain the splice command multiple times: You may also have a look at this post: Hope this helps. Regards, Thorsten
  15. Hello Arnaud, the error is occuring because of the unit of the signal. I guess the unit of your signal is "t" which is converted to "t²" and "t³" for the respective parts of the formula. Therefore they cannot be used in an addition or subtraction. To get the fomula working simply convert the signal to a unitless one before calculating the polynom. The resulting signal is unitless. You can use the setUnits() function to specify a unit if you need one. Hope this helps. Regards, Thorsten
×
×
  • Create New...