five

Electric energy usage measurements in offices during field trials of GEMS - Gamified Energy Monitoring as a Service

收藏
DataCite Commons2026-03-26 更新2026-05-05 收录
下载链接:
https://data.tu-dortmund.de/citation?persistentId=doi:10.17877/TUDODATA-2025-MCLYISW9
下载链接
链接失效反馈
官方服务:
资源简介:
<h1>Overview</h1> This dataset contains three 4-week recordings of electrical power (watts) and energy consumption (watt-hours) from individual office workstations, consisting of about 15 million data points stored in .csv.gz files with a resolution of at least 30 seconds. <h2>Background</h2> <p> This data was collected as part of the project "GEMS - Gamified Energy Monitoring as a Service" in the Master Computer Science at the TU Dortmund. We built a game-system that encouraged participants to conserve electric energy by making them aware of their energy usage in a simple to use interface. Additionally the system featured a competition to conserve energy, i.e. individual participants earned game points proportional to the energy they managed to save. The system was designed to be used by a group of people for 4 weeks. This dataset contains data of three of such groups. </p> <p> To measure energy use, participants received one or more smart home power outlets (plugs), which they installed and connected to their appliances. Setups ranged from a whole desk (monitors and computer) on a single plug to more granular arrangements, such as a single monitor per plug. Some plugs were shared by all players - these “team plugs” were typically installed at shared printers, coffee machines, or electric kettles. Users were instructed to behave as usual in the first 7 days. From day 8 on, they were told to conserve power. </p> <p> The game offered an opt-in to donate recorded energy data, which led to the creation of this dataset, released under the CC-BY 4.0 License. </p> <h1>Files</h1> This dataset contains the following files: <ul> <li><code>measurements1.csv.gz</code> - 3,962,675 rows. <br>Recordings of one user with two smart plugs and two team smart plugs. <br>Gathered from 2024-10-14 to 2024-11-11.</li> <li><code>measurements2.csv.gz</code> - 7,612,637 rows.<br> Recordings of 11 users with 23 smart plugs total. <br>Gathered from 2024-11-19 to 2024-12-17.</li> <li><code>measurements3.csv.gz</code> - 3,490,260 rows. <br>Recordings of 7 users with 12 smart plugs total. <br>Gathered from 2025-01-29 to 2025-02-26.</li> </ul> Note that there is a 2-hour data gap on 12 December 2024 (Measurement 2) due to a partial power outage. <h1>File format</h1> Each file is gzip-compressed CSV, using commas as separators. These are some of the first lines of <code>measurements1.csv.gz</code>: <br> <code> time,value,unit,user,plug,category 2024-10-14T12:53:00.151409Z,1.9,W,team,plug1,Printer 2024-10-14T12:53:02.987258Z,12.3,W,user1,plug4,Computer 2024-10-14T12:53:02.987681Z,0.9400000000000005,Wh,user1,plug4,Computer 2024-10-14T12:53:04.38592Z,4.9,W,team,plug2,Screen </code> <br> Each row contains either the measured power at that timestamp or the consumed energy from the beginning up to the timestamp. <ul> <li><code>time</code> - Timestamp in ISO 8601 format at UTC+0.</li> <li><code>value</code> - The numeric value, either in watts or watt-hours.</li> <li><code>unit</code> - The type of recording, either power (<code>unit = W</code>) or energy usage (<code>unit = Wh</code>).</li> <li><code>user</code> - Anonymised user ID, i.e. "team" or "user1".</li> <li><code>plug</code> - Anonymised plug ID. </li> <li><code>category</code> - User-chosen category of the connected appliances.</li> </ul> Please note that while the timestamp is at UTC+0, the actual recording took place in the timezone <code>Europe/Berlin</code>. The anonymised IDs are only valid inside their specific datasets, i.e. "user1" in the first data set is not necessarily the same person as "user1" in dataset two. You can use the following code snippets, which we provide under the CC0 License, to read the data. <p> R with lubridate package: <br> <code> df <- read.csv("measurements1.csv.gz")<br> # With UTC+0 timezone <br> df$time <- lubridate::as_datetime(df$time)<br> # or alternatively with the original timezone:<br> # df$time <- lubridate::as_datetime(df$time, tz = "Europe/Berlin") </code> </p> <p> Python with pandas:<br> <code> import pandas as pd<br> <br> df = pd.read_csv(<br> "measurements1.csv.gz",<br> header = 0,<br> parse_dates = ["time"],<br> date_format = "ISO8601"<br> )<br> # Optional <br> df["time"] = df["time"].dt.tz_convert('Europe/Berlin') </code> </p>
提供机构:
TUDOdata
创建时间:
2025-07-02
二维码
社区交流群
二维码
科研交流群
商业服务