Read the statement by Michael Teeuw here.
Need help with refactoring charting for a fork of a module.
-
@jwilson5607 I don’t have my apikey yet… so only get error
-
@jwilson5607 also, hist is set to be an array []
but the data comes back as objects
"data": { // is an object "29249277": { "runtime_thermostat_summary_id": 29249277, "user_id": 18261, "thermostat_id": XXXXXX, "date": "2022-03-07", "count": 124, "sum_compressor_cool_1": 0, "sum_compressor_cool_2": 0, "sum_compressor_heat_1": 0, "sum_compressor_heat_2": 0, "sum_auxiliary_heat_1": 3600, "sum_auxiliary_heat_2": 1335, "sum_fan": 8070, "sum_humidifier": 15, "sum_dehumidifier": 0, "sum_ventilator": 0, "sum_economizer": 0, "sum_degree_days": 0, "avg_outdoor_temperature": 33.5, "avg_outdoor_humidity": 83, "min_outdoor_temperature": 31.4, "max_outdoor_temperature": 36.3, "avg_indoor_temperature": 68.4, "avg_indoor_humidity": 38, "deleted": false }, "29249278": { "runtime_thermostat_summary_id": 29249278, "user_id": 18261, "thermostat_id": XXXXXX, "date": "2022-03-08", "count": 287, "sum_compressor_cool_1": 0, "sum_compressor_cool_2": 0, "sum_compressor_heat_1": 0, "sum_compressor_heat_2": 0, "sum_auxiliary_heat_1": 11250, "sum_auxiliary_heat_2": 0, "sum_fan": 18150, "sum_humidifier": 5010, "sum_dehumidifier": 0, "sum_ventilator": 0, "sum_economizer": 0, "sum_degree_days": 0, "avg_outdoor_temperature": 32, "avg_outdoor_humidity": 75, "min_outdoor_temperature": 27.1, "max_outdoor_temperature": 36.5, "avg_indoor_temperature": 68.2, "avg_indoor_humidity": 36, "deleted": false }, }
you can’t process that with a simple for loop… as u don’t have an array, buy you could MAKE an array with the
function Object.keys(objectname)
is will return a list (array) of all the high level object names in the input object, in your case
[ “29249277”, “29249278”]and you could use it like this
Object.keys(this.hist).forEach(thermostat_id =>{ let thermostatinfo=this.hist[thermostat_id] xxx= thermostatinfo.sum_auxiliary_heat_1 / 3600 })
sent a pull request with this approach
-
@jwilson5607 finally got my beestat apikey
one change
in node_helper, I tested the response for the literal ‘true’, not boolean true
change toif(result.success==true){
-
@sdetweil Sorry for the delay - life got busier than normal for a while. I am extremely thankful for your help as this was beyond my current set of abilities. I’ve updated my code and verified that its working for me as expected. Thank you again, you’re amazing!
-
@jwilson5607 glad u got it working…
if I hadn’t done my own chartjs module, I would have had no clue,