{"id":55619,"date":"2026-10-14T13:53:00","date_gmt":"2026-10-14T20:53:00","guid":{"rendered":"https:\/\/www.griddb.net\/?p=55619"},"modified":"2026-10-28T14:17:44","modified_gmt":"2026-10-28T21:17:44","slug":"what-four-years-of-a-homes-electricity-use-reveals-charting-it-with-griddb-and-java","status":"publish","type":"post","link":"https:\/\/www.griddb.net\/en\/blog\/what-four-years-of-a-homes-electricity-use-reveals-charting-it-with-griddb-and-java\/","title":{"rendered":"What Four Years of a Home&#8217;s Electricity Use Reveals: Charting It with GridDB and Java"},"content":{"rendered":"<p>\nA household electricity meter, read once a minute, turns out to be a surprisingly candid sensor. Over four years it records when people wake up, when they cook, when they travel, and how hard the winter bites. The only real requirement is somewhere to keep two million timestamped readings and a quick way to ask questions of them.\n<\/p>\n<p>\nThis post takes the UCI <em>Individual Household Electric Power Consumption<\/em> dataset, keeps it in GridDB as a time-series store, and then digs into what it says about how one household near Paris ran its home between December 2006 and November 2010. It is all Java: GridDB&#8217;s Web API for the data, and JFreeChart for the visuals. GridDB is the database behind it, holding the series and doing the time-based aggregation. Everything is reproducible, and the code is on GitHub (link at the end).\n<\/p>\n<h2 id=\"the-dataset\">The dataset<\/h2>\n<p>\nThe data is a public release from the UCI Machine Learning Repository: 2,075,259 one-minute measurements from a single home. Each row carries the whole-house active power draw in kilowatts, plus voltage, current, and three sub-meters:\n<\/p>\n<ul>\n<li><strong>Sub-meter 1, kitchen:<\/strong> dishwasher, oven, microwave<\/li>\n<li><strong>Sub-meter 2, laundry:<\/strong> washing machine, tumble dryer, fridge, a light<\/li>\n<li><strong>Sub-meter 3, climate:<\/strong> an electric water heater and an air conditioner<\/li>\n<\/ul>\n<p>\nTwo million minute-level rows is finer than we need to see daily and seasonal behaviour, so a short resampling step (in the repo) rolls them up to hourly: the mean for the instantaneous quantities, and the sum for the sub-meter energy counters. That leaves 34,168 clean hourly rows, which is what lands in GridDB.\n<\/p>\n<h2 id=\"the-data-lives-in-griddb\">The data lives in GridDB<\/h2>\n<p>\nLoading is two calls against the Web API: create a TIME_SERIES container with a schema, then PUT the rows in batches. On the free Cloud tier there is no driver to install; Java&#8217;s built-in <code>HttpClient<\/code> sends JSON over HTTPS.\n<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-java\">client.createTimeSeriesContainer(&quot;home_power_hourly&quot;, List.of(\r\n        new Column(&quot;ts&quot;, &quot;TIMESTAMP&quot;),\r\n        new Column(&quot;active_power_kw&quot;, &quot;DOUBLE&quot;),\r\n        new Column(&quot;voltage_v&quot;, &quot;DOUBLE&quot;),\r\n        \/\/ ...current and the three sub-meters\r\n));\r\nclient.putRows(&quot;home_power_hourly&quot;, rows, 2000);   \/\/ 34k rows, ~18 requests<\/code><\/pre>\n<\/div>\n<p>\nFrom there the analysis reads the series back out of the database. A single SQL <code>SELECT<\/code> streams every row into a list of typed records, and one TQL call asks GridDB for a time-weighted average without pulling anything client-side:\n<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-java\">public List&lt;Reading&gt; fetchAll(String container) throws Exception {\r\n    JsonNode results = sqlSelect(&quot;SELECT * FROM &quot; + container + &quot; ORDER BY ts&quot;)\r\n            .get(0).get(&quot;results&quot;);\r\n    List&lt;Reading&gt; readings = new ArrayList&lt;&gt;(results.size());\r\n    for (JsonNode r : results) {\r\n        readings.add(new Reading(Instant.parse(r.get(0).asText()),\r\n                r.get(1).asDouble(), r.get(2).asDouble(), r.get(3).asDouble(),\r\n                r.get(4).asDouble(), r.get(5).asDouble(), r.get(6).asDouble()));\r\n    }\r\n    return readings;\r\n}<\/code><\/pre>\n<\/div>\n<div class=\"clipboard\">\n<pre><code class=\"language-java\">client.tql(&quot;home_power_hourly&quot;, &quot;select TIME_AVG(active_power_kw)&quot;);\r\n\/\/ -&gt; 1.092   (kW, time-weighted across the full four years)<\/code><\/pre>\n<\/div>\n<p>\nSo over four years this home pulled about <strong>1.1 kW<\/strong> on average. That single number hides everything interesting, though, and the hourly detail is where the story lives.\n<\/p>\n<h2 id=\"why-a-database-not-a-flat-file\">Why a database, not a flat file<\/h2>\n<p>\nYou could read the CSV straight into memory, so it is fair to ask what GridDB buys you here. The answer shows up when the dataset stops being one home. A TIME_SERIES container keeps rows ordered by their timestamp, so a query for &#8220;every reading in March 2008&#8221; or &#8220;the hourly average for this meter&#8221; reads only the slice it needs instead of walking a file end to end, and an aggregate like the average above is computed inside the database rather than in the JVM. This one home is two million raw readings over four years; a thousand of them reporting every minute would add more than a million rows a day. That is the scale where flat files stop being an option, and the code you write against one home is the code you run against a thousand.\n<\/p>\n<h2 id=\"charting-with-jfreechart\">Charting with JFreeChart<\/h2>\n<p>\nEach chart is the same handful of steps: group the readings that GridDB handed back, drop the numbers into a JFreeChart dataset, and save a PNG. The daily load curve, for instance:\n<\/p>\n<div class=\"clipboard\">\n<pre><code class=\"language-java\">double[] mean = meanByHour(readings, Reading::activePowerKw);   \/\/ plain loop over the records\r\nXYSeries s = new XYSeries(&quot;Mean active power&quot;);\r\nfor (int h = 0; h &lt; 24; h++) s.add(h, mean[h]);\r\nJFreeChart chart = ChartFactory.createXYLineChart(\r\n        &quot;Average electricity demand by hour of day&quot;, &quot;Hour of day&quot;,\r\n        &quot;Mean active power (kW)&quot;, new XYSeriesCollection(s),\r\n        PlotOrientation.VERTICAL, false, false, false);\r\nChartUtils.saveChartAsPNG(new File(&quot;images\/daily_load_curve.png&quot;), chart, 800, 450);<\/code><\/pre>\n<\/div>\n<p>\nWith that pattern in place, here is what four years of this home looks like.\n<\/p>\n<h2 id=\"the-daily-rhythm\">The daily rhythm<\/h2>\n<p><a href=\"\/wp-content\/uploads\/2026\/10\/daily_load_curve.png\"><img fetchpriority=\"high\" decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/10\/daily_load_curve.png\" alt=\"\" width=\"800\" height=\"450\" class=\"aligncenter size-full wp-image-55624\" srcset=\"\/wp-content\/uploads\/2026\/10\/daily_load_curve.png 800w, \/wp-content\/uploads\/2026\/10\/daily_load_curve-300x169.png 300w, \/wp-content\/uploads\/2026\/10\/daily_load_curve-768x432.png 768w, \/wp-content\/uploads\/2026\/10\/daily_load_curve-150x85.png 150w, \/wp-content\/uploads\/2026\/10\/daily_load_curve-600x338.png 600w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a><\/p>\n<p>\nGroup every hour by its position in the day and you get the household&#8217;s average load curve, and it reads like a daily routine. Demand bottoms out at <strong>0.44 kW around 4 AM<\/strong>, when little more than the fridge and standby loads are running. It climbs through a morning bump just after 7 AM (about 1.5 kW), eases off through the working day, then builds to a hard evening peak of <strong>1.90 kW at 8 PM<\/strong>: dinner, appliances, lights, everyone home. That is a <strong>4.3x swing<\/strong> between the quietest and busiest hours of an average day, and it is exactly the kind of peak that utilities build their pricing around.\n<\/p>\n<h2 id=\"weekdays-versus-weekends\">Weekdays versus weekends<\/h2>\n<p><a href=\"\/wp-content\/uploads\/2026\/10\/weekday_vs_weekend.png\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/10\/weekday_vs_weekend.png\" alt=\"\" width=\"800\" height=\"450\" class=\"aligncenter size-full wp-image-55620\" srcset=\"\/wp-content\/uploads\/2026\/10\/weekday_vs_weekend.png 800w, \/wp-content\/uploads\/2026\/10\/weekday_vs_weekend-300x169.png 300w, \/wp-content\/uploads\/2026\/10\/weekday_vs_weekend-768x432.png 768w, \/wp-content\/uploads\/2026\/10\/weekday_vs_weekend-150x85.png 150w, \/wp-content\/uploads\/2026\/10\/weekday_vs_weekend-600x338.png 600w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a><\/p>\n<p>\nSplitting the week apart separates two routines. Weekdays show the sharper, later evening spike you would expect from people arriving home from work, at <strong>1.85 kW around 9 PM<\/strong>. Weekends run higher overall and peak earlier, at <strong>2.05 kW near 7 PM<\/strong>, and they never sink into the flat mid-day lull that weekdays have, because someone is home using the house all afternoon.\n<\/p>\n<h2 id=\"the-seasons\">The seasons<\/h2>\n<p><a href=\"\/wp-content\/uploads\/2026\/10\/monthly_trend.png\"><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/10\/monthly_trend.png\" alt=\"\" width=\"900\" height=\"450\" class=\"aligncenter size-full wp-image-55622\" srcset=\"\/wp-content\/uploads\/2026\/10\/monthly_trend.png 900w, \/wp-content\/uploads\/2026\/10\/monthly_trend-300x150.png 300w, \/wp-content\/uploads\/2026\/10\/monthly_trend-768x384.png 768w, \/wp-content\/uploads\/2026\/10\/monthly_trend-600x300.png 600w\" sizes=\"(max-width: 900px) 100vw, 900px\" \/><\/a><\/p>\n<p>\nZoom out to a monthly average and the seasons take over. Winter months average <strong>1.44 kW against 0.73 kW in summer<\/strong>, very nearly double. In a home whose largest metered load is an electric water heater, that fits: cold incoming water takes far more energy to bring up to temperature, and the darker months add lighting on top.\n<\/p>\n<p><a href=\"\/wp-content\/uploads\/2026\/10\/hour_month_heatmap.png\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/10\/hour_month_heatmap.png\" alt=\"\" width=\"850\" height=\"500\" class=\"aligncenter size-full wp-image-55623\" srcset=\"\/wp-content\/uploads\/2026\/10\/hour_month_heatmap.png 850w, \/wp-content\/uploads\/2026\/10\/hour_month_heatmap-300x176.png 300w, \/wp-content\/uploads\/2026\/10\/hour_month_heatmap-768x452.png 768w, \/wp-content\/uploads\/2026\/10\/hour_month_heatmap-600x353.png 600w\" sizes=\"(max-width: 850px) 100vw, 850px\" \/><\/a><\/p>\n<p>\nThe hour-by-month heatmap is my favourite view of the whole dataset. Each column is a calendar month, each row an hour of the day, and colour is average power. The bright evening band across hours 19 to 21 is present all year but blazes from November through March. Then look at month 8: <strong>August is dark at every single hour.<\/strong> This household effectively switched off for the month, the classic summer holiday written straight into the electricity.\n<\/p>\n<h2 id=\"where-the-power-actually-goes\">Where the power actually goes<\/h2>\n<p><a href=\"\/wp-content\/uploads\/2026\/10\/submetering_by_hour.png\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/10\/submetering_by_hour.png\" alt=\"\" width=\"900\" height=\"450\" class=\"aligncenter size-full wp-image-55621\" srcset=\"\/wp-content\/uploads\/2026\/10\/submetering_by_hour.png 900w, \/wp-content\/uploads\/2026\/10\/submetering_by_hour-300x150.png 300w, \/wp-content\/uploads\/2026\/10\/submetering_by_hour-768x384.png 768w, \/wp-content\/uploads\/2026\/10\/submetering_by_hour-600x300.png 600w\" sizes=\"(max-width: 900px) 100vw, 900px\" \/><\/a><\/p>\n<p>\nStacking the three sub-meters by hour shows which circuits drive the day. The climate circuit (water heater and AC) dominates, with a big morning surge as the tank reheats after overnight use. The kitchen spikes at the obvious moments, a small bump at lunch and a larger one at dinner. Laundry stays spread across the day and peaks in the early afternoon, since the always-on fridge sits on that circuit too.\n<\/p>\n<p>\nThe most revealing figure, though, is the one that is not on any chart. Add up all three sub-meters across four years and they account for only <strong>48.8% of the home&#8217;s total energy<\/strong>. The other <strong>51.2%<\/strong>, which is lighting, wall sockets, electronics, and everything not on a named circuit, is simply invisible to the sub-meters. If you are building anything that reasons about home energy, that number is worth remembering: the circuits you can see may be the minority of what you are trying to explain. Of the metered half, the climate circuit alone is roughly <strong>13,200 kWh<\/strong>, against about 2,700 for laundry and 2,300 for the kitchen.\n<\/p>\n<h2 id=\"wrapping-up\">Wrapping up<\/h2>\n<p>\nNone of this analysis is exotic; it is grouping and averaging a few arrays. It works cleanly only because the data sits somewhere that makes time-slicing cheap. GridDB held the four-year series as one TIME_SERIES container, handed the whole thing back in a single query, and computed the time-weighted average server-side, leaving Java to do the grouping and JFreeChart the drawing. From here the same container feeds the obvious next steps, none of which need the raw file again: a short-term load forecast, an anomaly detector that flags an hour drawing far more than its usual for that time of day and season, or a live dashboard that reads the most recent hours straight from GridDB.\n<\/p>\n<p>\nThe complete project, from the resampled data to the five charts, is on GitHub. Point it at your own free GridDB Cloud instance, set three environment variables, and you will get the same charts.\n<\/p>\n<p><strong>Full source and data:<\/strong> <a href=\"https:\/\/github.com\/radiantmind125\/griddb-energy-java\">github.com\/radiantmind125\/griddb-energy-java<\/a><\/p>\n<p><em>Dataset: <a href=\"https:\/\/archive.ics.uci.edu\/dataset\/235\/individual+household+electric+power+consumption\">Individual Household Electric Power Consumption<\/a>, UCI Machine Learning Repository.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A household electricity meter, read once a minute, turns out to be a surprisingly candid sensor. Over four years it records when people wake up, when they cook, when they travel, and how hard the winter bites. The only real requirement is somewhere to keep two million timestamped readings and a quick way to ask [&hellip;]<\/p>\n","protected":false},"author":779,"featured_media":55623,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[121],"tags":[],"class_list":["post-55619","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>What Four Years of a Home&#039;s Electricity Use Reveals: Charting It with GridDB and Java | GridDB: Open Source Time Series Database for IoT<\/title>\n<meta name=\"description\" content=\"A household electricity meter, read once a minute, turns out to be a surprisingly candid sensor. Over four years it records when people wake up, when they\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.griddb.net\/en\/blog\/what-four-years-of-a-homes-electricity-use-reveals-charting-it-with-griddb-and-java\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What Four Years of a Home&#039;s Electricity Use Reveals: Charting It with GridDB and Java | GridDB: Open Source Time Series Database for IoT\" \/>\n<meta property=\"og:description\" content=\"A household electricity meter, read once a minute, turns out to be a surprisingly candid sensor. Over four years it records when people wake up, when they\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.griddb.net\/en\/blog\/what-four-years-of-a-homes-electricity-use-reveals-charting-it-with-griddb-and-java\/\" \/>\n<meta property=\"og:site_name\" content=\"GridDB: Open Source Time Series Database for IoT\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/griddbcommunity\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-14T20:53:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-28T21:17:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.griddb.net\/wp-content\/uploads\/2026\/10\/hour_month_heatmap.png\" \/>\n\t<meta property=\"og:image:width\" content=\"850\" \/>\n\t<meta property=\"og:image:height\" content=\"500\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"reviewer\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@GridDBCommunity\" \/>\n<meta name=\"twitter:site\" content=\"@GridDBCommunity\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"reviewer\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.griddb.net\\\/en\\\/blog\\\/what-four-years-of-a-homes-electricity-use-reveals-charting-it-with-griddb-and-java\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.griddb.net\\\/en\\\/blog\\\/what-four-years-of-a-homes-electricity-use-reveals-charting-it-with-griddb-and-java\\\/\"},\"author\":{\"name\":\"reviewer\",\"@id\":\"https:\\\/\\\/www.griddb.net\\\/#\\\/schema\\\/person\\\/9796b06dbb0e63dcaaf67892e45c3df2\"},\"headline\":\"What Four Years of a Home&#8217;s Electricity Use Reveals: Charting It with GridDB and Java\",\"datePublished\":\"2026-10-14T20:53:00+00:00\",\"dateModified\":\"2026-10-28T21:17:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.griddb.net\\\/en\\\/blog\\\/what-four-years-of-a-homes-electricity-use-reveals-charting-it-with-griddb-and-java\\\/\"},\"wordCount\":1229,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.griddb.net\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.griddb.net\\\/en\\\/blog\\\/what-four-years-of-a-homes-electricity-use-reveals-charting-it-with-griddb-and-java\\\/#primaryimage\"},\"thumbnailUrl\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/hour_month_heatmap.png\",\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.griddb.net\\\/en\\\/blog\\\/what-four-years-of-a-homes-electricity-use-reveals-charting-it-with-griddb-and-java\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.griddb.net\\\/en\\\/blog\\\/what-four-years-of-a-homes-electricity-use-reveals-charting-it-with-griddb-and-java\\\/\",\"url\":\"https:\\\/\\\/www.griddb.net\\\/en\\\/blog\\\/what-four-years-of-a-homes-electricity-use-reveals-charting-it-with-griddb-and-java\\\/\",\"name\":\"What Four Years of a Home's Electricity Use Reveals: Charting It with GridDB and Java | GridDB: Open Source Time Series Database for IoT\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.griddb.net\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.griddb.net\\\/en\\\/blog\\\/what-four-years-of-a-homes-electricity-use-reveals-charting-it-with-griddb-and-java\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.griddb.net\\\/en\\\/blog\\\/what-four-years-of-a-homes-electricity-use-reveals-charting-it-with-griddb-and-java\\\/#primaryimage\"},\"thumbnailUrl\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/hour_month_heatmap.png\",\"datePublished\":\"2026-10-14T20:53:00+00:00\",\"dateModified\":\"2026-10-28T21:17:44+00:00\",\"description\":\"A household electricity meter, read once a minute, turns out to be a surprisingly candid sensor. Over four years it records when people wake up, when they\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.griddb.net\\\/en\\\/blog\\\/what-four-years-of-a-homes-electricity-use-reveals-charting-it-with-griddb-and-java\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.griddb.net\\\/en\\\/blog\\\/what-four-years-of-a-homes-electricity-use-reveals-charting-it-with-griddb-and-java\\\/#primaryimage\",\"url\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/hour_month_heatmap.png\",\"contentUrl\":\"\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/hour_month_heatmap.png\",\"width\":850,\"height\":500},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.griddb.net\\\/#website\",\"url\":\"https:\\\/\\\/www.griddb.net\\\/\",\"name\":\"GridDB: Open Source Time Series Database for IoT\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.griddb.net\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.griddb.net\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.griddb.net\\\/#organization\",\"name\":\"Fixstars\",\"url\":\"https:\\\/\\\/www.griddb.net\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.griddb.net\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.griddb.net\\\/wp-content\\\/uploads\\\/2019\\\/04\\\/fixstars_logo_web_tagline.png\",\"contentUrl\":\"https:\\\/\\\/www.griddb.net\\\/wp-content\\\/uploads\\\/2019\\\/04\\\/fixstars_logo_web_tagline.png\",\"width\":200,\"height\":83,\"caption\":\"Fixstars\"},\"image\":{\"@id\":\"https:\\\/\\\/www.griddb.net\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/griddbcommunity\\\/\",\"https:\\\/\\\/x.com\\\/GridDBCommunity\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/griddb-by-toshiba\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.griddb.net\\\/#\\\/schema\\\/person\\\/9796b06dbb0e63dcaaf67892e45c3df2\",\"name\":\"reviewer\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/56c7498f718fe0de13a8d0595e73985d070bf1fb1bcd75b4f3d4de32b5c7ad46?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/56c7498f718fe0de13a8d0595e73985d070bf1fb1bcd75b4f3d4de32b5c7ad46?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/56c7498f718fe0de13a8d0595e73985d070bf1fb1bcd75b4f3d4de32b5c7ad46?s=96&d=mm&r=g\",\"caption\":\"reviewer\"},\"url\":\"https:\\\/\\\/www.griddb.net\\\/en\\\/author\\\/reviewer\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"What Four Years of a Home's Electricity Use Reveals: Charting It with GridDB and Java | GridDB: Open Source Time Series Database for IoT","description":"A household electricity meter, read once a minute, turns out to be a surprisingly candid sensor. Over four years it records when people wake up, when they","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.griddb.net\/en\/blog\/what-four-years-of-a-homes-electricity-use-reveals-charting-it-with-griddb-and-java\/","og_locale":"en_US","og_type":"article","og_title":"What Four Years of a Home's Electricity Use Reveals: Charting It with GridDB and Java | GridDB: Open Source Time Series Database for IoT","og_description":"A household electricity meter, read once a minute, turns out to be a surprisingly candid sensor. Over four years it records when people wake up, when they","og_url":"https:\/\/www.griddb.net\/en\/blog\/what-four-years-of-a-homes-electricity-use-reveals-charting-it-with-griddb-and-java\/","og_site_name":"GridDB: Open Source Time Series Database for IoT","article_publisher":"https:\/\/www.facebook.com\/griddbcommunity\/","article_published_time":"2026-10-14T20:53:00+00:00","article_modified_time":"2026-10-28T21:17:44+00:00","og_image":[{"width":850,"height":500,"url":"https:\/\/www.griddb.net\/wp-content\/uploads\/2026\/10\/hour_month_heatmap.png","type":"image\/png"}],"author":"reviewer","twitter_card":"summary_large_image","twitter_creator":"@GridDBCommunity","twitter_site":"@GridDBCommunity","twitter_misc":{"Written by":"reviewer","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.griddb.net\/en\/blog\/what-four-years-of-a-homes-electricity-use-reveals-charting-it-with-griddb-and-java\/#article","isPartOf":{"@id":"https:\/\/www.griddb.net\/en\/blog\/what-four-years-of-a-homes-electricity-use-reveals-charting-it-with-griddb-and-java\/"},"author":{"name":"reviewer","@id":"https:\/\/www.griddb.net\/#\/schema\/person\/9796b06dbb0e63dcaaf67892e45c3df2"},"headline":"What Four Years of a Home&#8217;s Electricity Use Reveals: Charting It with GridDB and Java","datePublished":"2026-10-14T20:53:00+00:00","dateModified":"2026-10-28T21:17:44+00:00","mainEntityOfPage":{"@id":"https:\/\/www.griddb.net\/en\/blog\/what-four-years-of-a-homes-electricity-use-reveals-charting-it-with-griddb-and-java\/"},"wordCount":1229,"commentCount":0,"publisher":{"@id":"https:\/\/www.griddb.net\/#organization"},"image":{"@id":"https:\/\/www.griddb.net\/en\/blog\/what-four-years-of-a-homes-electricity-use-reveals-charting-it-with-griddb-and-java\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2026\/10\/hour_month_heatmap.png","articleSection":["Blog"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.griddb.net\/en\/blog\/what-four-years-of-a-homes-electricity-use-reveals-charting-it-with-griddb-and-java\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.griddb.net\/en\/blog\/what-four-years-of-a-homes-electricity-use-reveals-charting-it-with-griddb-and-java\/","url":"https:\/\/www.griddb.net\/en\/blog\/what-four-years-of-a-homes-electricity-use-reveals-charting-it-with-griddb-and-java\/","name":"What Four Years of a Home's Electricity Use Reveals: Charting It with GridDB and Java | GridDB: Open Source Time Series Database for IoT","isPartOf":{"@id":"https:\/\/www.griddb.net\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.griddb.net\/en\/blog\/what-four-years-of-a-homes-electricity-use-reveals-charting-it-with-griddb-and-java\/#primaryimage"},"image":{"@id":"https:\/\/www.griddb.net\/en\/blog\/what-four-years-of-a-homes-electricity-use-reveals-charting-it-with-griddb-and-java\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2026\/10\/hour_month_heatmap.png","datePublished":"2026-10-14T20:53:00+00:00","dateModified":"2026-10-28T21:17:44+00:00","description":"A household electricity meter, read once a minute, turns out to be a surprisingly candid sensor. Over four years it records when people wake up, when they","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.griddb.net\/en\/blog\/what-four-years-of-a-homes-electricity-use-reveals-charting-it-with-griddb-and-java\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.griddb.net\/en\/blog\/what-four-years-of-a-homes-electricity-use-reveals-charting-it-with-griddb-and-java\/#primaryimage","url":"\/wp-content\/uploads\/2026\/10\/hour_month_heatmap.png","contentUrl":"\/wp-content\/uploads\/2026\/10\/hour_month_heatmap.png","width":850,"height":500},{"@type":"WebSite","@id":"https:\/\/www.griddb.net\/#website","url":"https:\/\/www.griddb.net\/","name":"GridDB: Open Source Time Series Database for IoT","description":"","publisher":{"@id":"https:\/\/www.griddb.net\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.griddb.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.griddb.net\/#organization","name":"Fixstars","url":"https:\/\/www.griddb.net\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.griddb.net\/#\/schema\/logo\/image\/","url":"https:\/\/www.griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png","contentUrl":"https:\/\/www.griddb.net\/wp-content\/uploads\/2019\/04\/fixstars_logo_web_tagline.png","width":200,"height":83,"caption":"Fixstars"},"image":{"@id":"https:\/\/www.griddb.net\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/griddbcommunity\/","https:\/\/x.com\/GridDBCommunity","https:\/\/www.linkedin.com\/company\/griddb-by-toshiba"]},{"@type":"Person","@id":"https:\/\/www.griddb.net\/#\/schema\/person\/9796b06dbb0e63dcaaf67892e45c3df2","name":"reviewer","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/56c7498f718fe0de13a8d0595e73985d070bf1fb1bcd75b4f3d4de32b5c7ad46?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/56c7498f718fe0de13a8d0595e73985d070bf1fb1bcd75b4f3d4de32b5c7ad46?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/56c7498f718fe0de13a8d0595e73985d070bf1fb1bcd75b4f3d4de32b5c7ad46?s=96&d=mm&r=g","caption":"reviewer"},"url":"https:\/\/www.griddb.net\/en\/author\/reviewer\/"}]}},"_links":{"self":[{"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/posts\/55619","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/users\/779"}],"replies":[{"embeddable":true,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/comments?post=55619"}],"version-history":[{"count":3,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/posts\/55619\/revisions"}],"predecessor-version":[{"id":55626,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/posts\/55619\/revisions\/55626"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/media\/55623"}],"wp:attachment":[{"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/media?parent=55619"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/categories?post=55619"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.griddb.net\/en\/wp-json\/wp\/v2\/tags?post=55619"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}