Thanks that was interesting!
But, the number of consumption.nodes is unknown, try this:
s := ' {"data":{"viewer":{"homes":[{"consumption":{"nodes":[{"from":"2022-02-09T20:00:00.000+01:00","to":"2022-02-09T21:00:00.000+01:00","cost":null,"unitPrice":1.566625,"unitPriceVAT":0.313325,"consumption":null,"consumptionUnit":"kWh"},{"from":"2022-02-09T21:00:00.000+01:00","to":"2022-02-09T22:00:00.000+01:00","cost":null,"unitPrice":1.548,"unitPriceVAT":0.3096,"consumption":null,"consumptionUnit":"kWh"}]}},{"consumption":{"nodes":[{"from":"2022-02-09T20:00:00.000+01:00","to":"2022-02-09T21:00:00.000+01:00","cost":4.574545,"unitPrice":1.566625,"unitPriceVAT":0.313325,"consumption":2.92,"consumptionUnit":"kWh"},{"from":"2022-02-09T21:00:00.000+01:00","to":"2022-02-09T22:00:00.000+01:00","cost":5.58828,"unitPrice":1.548,"unitPriceVAT":0.3096,"consumption":3.61,"consumptionUnit":"kWh"}]}}]}}} ';