LogicMachine Forum
Minimum value + hour and maximum value + hour of PVPC rate - Printable Version

+- LogicMachine Forum (https://forum.logicmachine.net)
+-- Forum: LogicMachine eco-system (https://forum.logicmachine.net/forumdisplay.php?fid=1)
+--- Forum: Scripting (https://forum.logicmachine.net/forumdisplay.php?fid=8)
+--- Thread: Minimum value + hour and maximum value + hour of PVPC rate (/showthread.php?tid=4205)



Minimum value + hour and maximum value + hour of PVPC rate - JRP - 27.08.2022

Hello

I obtain, through the Esios API, the hourly price of electricity in Spain.

A table like this is contained.

Code:
* table: ["indicator"]   * table:    ["composited"]     * bool: false    ["magnitud"]     * table:      [1]       * table:        ["name"]         * string: Precio        ["id"]         * number: 23    ["id"]     * number: 1001    ["tiempo"]     * table:      [1]       * table:        ["name"]         * string: Hora        ["id"]         * number: 4    ["step_type"]     * string: linear    ["short_name"]     * string: PVPC T. 2.0TD    ["values"]     * table:      [1]       * table:        ["datetime_utc"]         * string: 2022-08-26T22:00:00Z        ["geo_id"]         * number: 8741        ["value"]         * number: 492.82        ["tz_time"]         * string: 2022-08-26T22:00:00.000Z        ["geo_name"]         * string: Península        ["datetime"]         * string: 2022-08-27T00:00:00.000+02:00      [2]       * table:        ["datetime_utc"]         * string: 2022-08-26T23:00:00Z        ["geo_id"]         * number: 8741        ["value"]         * number: 497.35        ["tz_time"]         * string: 2022-08-26T23:00:00.000Z        ["geo_name"]         * string: Península        ["datetime"]         * string: 2022-08-27T01:00:00.000+02:00      [3]       * table:        ["datetime_utc"]         * string: 2022-08-27T00:00:00Z        ["geo_id"]         * number: 8741        ["value"]         * number: 494.44        ["tz_time"]         * string: 2022-08-27T00:00:00.000Z        ["geo_name"]         * string: Península        ["datetime"]         * string: 2022-08-27T02:00:00.000+02:00      [4]       * table:        ["datetime_utc"]         * string: 2022-08-27T01:00:00Z        ["geo_id"]         * number: 8741        ["value"]         * number: 508.86        ["tz_time"]         * string: 2022-08-27T01:00:00.000Z        ["geo_name"]         * string: Península        ["datetime"]         * string: 2022-08-27T03:00:00.000+02:00      [5]       * table:        ["datetime_utc"]         * string: 2022-08-27T02:00:00Z        ["geo_id"]         * number: 8741        ["value"]         * number: 531.02        ["tz_time"]         * string: 2022-08-27T02:00:00.000Z        ["geo_name"]         * string: Península        ["datetime"]         * string: 2022-08-27T04:00:00.000+02:00      [6]       * table:        ["datetime_utc"]         * string: 2022-08-27T03:00:00Z        ["geo_id"]         * number: 8741        ["value"]         * number: 553.12        ["tz_time"]         * string: 2022-08-27T03:00:00.000Z        ["geo_name"]         * string: Península        ["datetime"]         * string: 2022-08-27T05:00:00.000+02:00      [7]       * table:        ["datetime_utc"]         * string: 2022-08-27T04:00:00Z        ["geo_id"]         * number: 8741        ["value"]         * number: 568.16        ["tz_time"]         * string: 2022-08-27T04:00:00.000Z        ["geo_name"]         * string: Península        ["datetime"]         * string: 2022-08-27T06:00:00.000+02:00      [8]       * table:        ["datetime_utc"]         * string: 2022-08-27T05:00:00Z        ["geo_id"]         * number: 8741        ["value"]         * number: 557.06        ["tz_time"]         * string: 2022-08-27T05:00:00.000Z        ["geo_name"]         * string: Península        ["datetime"]         * string: 2022-08-27T07:00:00.000+02:00      [9]       * table:        ["datetime_utc"]         * string: 2022-08-27T06:00:00Z        ["geo_id"]         * number: 8741        ["value"]         * number: 507.94        ["tz_time"]         * string: 2022-08-27T06:00:00.000Z        ["geo_name"]         * string: Península        ["datetime"]         * string: 2022-08-27T08:00:00.000+02:00      [10]       * table:        ["datetime_utc"]         * string: 2022-08-27T07:00:00Z        ["geo_id"]         * number: 8741        ["value"]         * number: 445.72        ["tz_time"]         * string: 2022-08-27T07:00:00.000Z        ["geo_name"]         * string: Península        ["datetime"]         * string: 2022-08-27T09:00:00.000+02:00      [11]       * table:        ["datetime_utc"]         * string: 2022-08-27T08:00:00Z        ["geo_id"]         * number: 8741        ["value"]         * number: 405.18        ["tz_time"]         * string: 2022-08-27T08:00:00.000Z        ["geo_name"]         * string: Península        ["datetime"]         * string: 2022-08-27T10:00:00.000+02:00      [12]       * table:        ["datetime_utc"]         * string: 2022-08-27T09:00:00Z        ["geo_id"]         * number: 8741        ["value"]         * number: 389.13        ["tz_time"]         * string: 2022-08-27T09:00:00.000Z        ["geo_name"]         * string: Península        ["datetime"]         * string: 2022-08-27T11:00:00.000+02:00      [13]       * table:        ["datetime_utc"]         * string: 2022-08-27T10:00:00Z        ["geo_id"]         * number: 8741        ["value"]         * number: 381.83        ["tz_time"]         * string: 2022-08-27T10:00:00.000Z        ["geo_name"]         * string: Península        ["datetime"]         * string: 2022-08-27T12:00:00.000+02:00      [14]       * table:        ["datetime_utc"]         * string: 2022-08-27T11:00:00Z        ["geo_id"]         * number: 8741        ["value"]         * number: 381.23        ["tz_time"]         * string: 2022-08-27T11:00:00.000Z        ["geo_name"]         * string: Península        ["datetime"]         * string: 2022-08-27T13:00:00.000+02:00      [15]       * table:        ["datetime_utc"]         * string: 2022-08-27T12:00:00Z        ["geo_id"]         * number: 8741        ["value"]         * number: 385.12        ["tz_time"]         * string: 2022-08-27T12:00:00.000Z        ["geo_name"]         * string: Península        ["datetime"]         * string: 2022-08-27T14:00:00.000+02:00      [16]       * table:        ["datetime_utc"]         * string: 2022-08-27T13:00:00Z        ["geo_id"]         * number: 8741        ["value"]         * number: 391.42        ["tz_time"]         * string: 2022-08-27T13:00:00.000Z        ["geo_name"]         * string: Península        ["datetime"]         * string: 2022-08-27T15:00:00.000+02:00      [17]       * table:        ["datetime_utc"]         * string: 2022-08-27T14:00:00Z        ["geo_id"]         * number: 8741        ["value"]         * number: 400.21        ["tz_time"]         * string: 2022-08-27T14:00:00.000Z        ["geo_name"]         * string: Península        ["datetime"]         * string: 2022-08-27T16:00:00.000+02:00      [18]       * table:        ["datetime_utc"]         * string: 2022-08-27T15:00:00Z        ["geo_id"]         * number: 8741        ["value"]         * number: 407.64        ["tz_time"]         * string: 2022-08-27T15:00:00.000Z        ["geo_name"]         * string: Península        ["datetime"]         * string: 2022-08-27T17:00:00.000+02:00      [19]       * table:        ["datetime_utc"]         * string: 2022-08-27T16:00:00Z        ["geo_id"]         * number: 8741        ["value"]         * number: 414.83        ["tz_time"]         * string: 2022-08-27T16:00:00.000Z        ["geo_name"]         * string: Península        ["datetime"]         * string: 2022-08-27T18:00:00.000+02:00      [20]       * table:        ["datetime_utc"]         * string: 2022-08-27T17:00:00Z        ["geo_id"]         * number: 8741        ["value"]         * number: 491.04        ["tz_time"]         * string: 2022-08-27T17:00:00.000Z        ["geo_name"]         * string: Península        ["datetime"]         * string: 2022-08-27T19:00:00.000+02:00      [21]       * table:        ["datetime_utc"]         * string: 2022-08-27T18:00:00Z        ["geo_id"]         * number: 8741        ["value"]         * number: 544.13        ["tz_time"]         * string: 2022-08-27T18:00:00.000Z        ["geo_name"]         * string: Península        ["datetime"]         * string: 2022-08-27T20:00:00.000+02:00      [22]       * table:        ["datetime_utc"]         * string: 2022-08-27T19:00:00Z        ["geo_id"]         * number: 8741        ["value"]         * number: 555.8        ["tz_time"]         * string: 2022-08-27T19:00:00.000Z        ["geo_name"]         * string: Península        ["datetime"]         * string: 2022-08-27T21:00:00.000+02:00      [23]       * table:        ["date...


What I want is to save in virtual objects, the following:

The lowest price and the corresponding hour.
The highest price and the time to which it corresponds.

How could I do it?

I already have in virtual objects each price value.

In simpler tables I think I could do it with math.max or by sorting the table and keeping the first and last value. But in such a complex table and with the time, I don't know how to do it.

Greetings


RE: Minimum value + hour and maximum value + hour of PVPC rate - admin - 29.08.2022

Try this (data is decoded JSON response):
Code:
values = data.indicator.values table.sort(values, function(a, b)   return a.value < b.value end) min = values[1] minvalue = min.value minhour = min.datetime:match('T(%d+)') log(minvalue, minhour) max = values[#values] maxvalue = max.value maxhour = max.datetime:match('T(%d+)') log(maxvalue, maxhour)



RE: Minimum value + hour and maximum value + hour of PVPC rate - JRP - 30.08.2022

thanks, i will try it
greeting


RE: Minimum value + hour and maximum value + hour of PVPC rate - JRP - 03.09.2022

It works perfectly, thanks

Greeting