voelkerb / FIRED_dataset_helper

Files to load and use the Fully-labeled hIgh-fRequencyElectricity Disaggregation (FIRED) dataset. Files to generate statistics and plots.
Creative Commons Zero v1.0 Universal
6 stars 1 forks source link

Appliance Signatures #5

Closed marciahon29 closed 6 days ago

marciahon29 commented 2 months ago

Hello,

In your main GitHub page, you have a table of the appliances used and their corresponding watts.

I would like to ask you how I could determine the reactive power of these appliances.

Thanks, Marcia

voelkerb commented 2 months ago

Hey Marcia, You need to download the dataset in the sampling rate of your choice (1Hz, 50Hz) and extract the reactive power trace. Instructions are provided in the readme file. If you need help, you can ask here anytime.

marciahon29 commented 2 months ago

Hello Dr Benjamin,

Yes, I have downloaded at 1Hz frequency and I am able to get the Active / Reactive Power from the Smart Meter.

However, my question is with regards to the appliance signatures used to identify any given appliance. As per your GitHub main page table, you have Active Power (in Watts) but there is no Reactive Power. Please could you let me know how to find the Reactive Powers for the appliance signatures?

Thanks, Marcia

On Tue, Aug 13, 2024 at 12:33 PM Benjamin Völker @.***> wrote:

Hey Marcia, You need to download the dataset in the sampling rate of your choice (1Hz, 50Hz) and extract the reactive power trace. Instructions are provided in the readme file. If you need help, you can ask here anytime.

— Reply to this email directly, view it on GitHub https://github.com/voelkerb/FIRED_dataset_helper/issues/5#issuecomment-2286663122, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFOIJPUH7ORKARK5DMQ57BLZRIYMPAVCNFSM6AAAAABMOTX7ECVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOBWGY3DGMJSGI . You are receiving this because you authored the thread.Message ID: @.***>

voelkerb commented 2 months ago

The data also includes 1Hz/50Hz individual appliance traces. The table in the readme just lists the manufacturer's average active power estimation. The included individual files are real power traces (active, reactive, apparent) recorded for most of these appliances.

marciahon29 commented 2 months ago

Ok, I understand now. So I should got to the files and find the averages of active/reactive/apparent for each appliance. Thank you!

On Tue, Aug 13, 2024 at 1:02 PM Benjamin Völker @.***> wrote:

The data also includes 1Hz/50Hz individual appliance traces. The table in the readme just lists the manufacturer's average active power estimation. The included individual files are real power traces (active, reactive, apparent) recorded for most of these appliances.

— Reply to this email directly, view it on GitHub https://github.com/voelkerb/FIRED_dataset_helper/issues/5#issuecomment-2286714223, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFOIJPXRN6TEYEJJQPIOXF3ZRI3Y3AVCNFSM6AAAAABMOTX7ECVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOBWG4YTIMRSGM . You are receiving this because you authored the thread.Message ID: @.***>

voelkerb commented 2 months ago

If you just want a single number for each, then yes.

marciahon29 commented 2 months ago

To get the fridge data, I believe you use this: fridge = hp.getMeterPower("powermeter09", 50, startTs=startTs, stopTs=stopTs). According to your documentation, indeed the fridge is measured by powermeter09.

However, for some powermeters, such as powermeter18, there are more than one appliances measured. In this case: Telephone, Router #1, and Router #2. Plus, there are also some appliances that do not have an associated powermeter such as Lightbulb.

I would like to ask you, how I could extract the power readings for each individual appliance.

Thanks

On Tue, Aug 13, 2024 at 1:20 PM Benjamin Völker @.***> wrote:

If you just want a single number for each, then yes.

— Reply to this email directly, view it on GitHub https://github.com/voelkerb/FIRED_dataset_helper/issues/5#issuecomment-2286746627, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFOIJPUTDARDNKBNNYKXRC3ZRI56BAVCNFSM6AAAAABMOTX7ECVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOBWG42DMNRSG4 . You are receiving this because you authored the thread.Message ID: @.***>

voelkerb commented 2 months ago

True for some devices, you only get aggregated data - like both routers or the office PC + monitor. One meter was also used with different appliances but every appliance used was logged. If you use the getPower(appliance,...) function you only need to pass the appliance name and extraction is done automatically.

For all lights you don't get individual consumption traces. However you get all switching events with light intensity, color and timestamp and can reconstruct estimated consumption data. Take a look at the getPowerForLight function which provides exactly this functionality.

marciahon29 commented 2 months ago

Thank you, I was able to extract the powers for each appliance and averaged them to get the individual appliance signatures.

Please could you let me know what the metrics for the powers are? Are they "Watts", "KiloWatts", etc?

On Thu, Aug 15, 2024 at 8:40 AM Benjamin Völker @.***> wrote:

True for some devices, you only get aggregated data - like both routers or the office PC + monitor. One meter was also used with different appliances but every appliance used was logged. If you use the getPower(appliance,...) https://github.com/voelkerb/FIRED_dataset_helper/blob/master/helper.py#L1280C5-L1280C13 function you only need to pass the appliance name and extraction is done automatically.

For all lights you don't get individual consumption traces. However you get all switching events with light intensity, color and timestamp and can reconstruct estimated consumption data. Take a look at the getPowerForLight function https://github.com/voelkerb/FIRED_dataset_helper/blob/master/helper.py#L1373C5-L1373C21 which provides exactly this functionality.

— Reply to this email directly, view it on GitHub https://github.com/voelkerb/FIRED_dataset_helper/issues/5#issuecomment-2291194445, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFOIJPQIHM3RU6JQ5I2WXATZRSOTRAVCNFSM6AAAAABMOTX7ECVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJRGE4TINBUGU . You are receiving this because you authored the thread.Message ID: @.***>

voelkerb commented 2 months ago

It should be returned with the data in the dictionary but typically Volt, milliampere (due to better resolution), Watt, var, VA

marciahon29 commented 2 months ago

You have frequencies for 1Hz and 50Hz. Do you have some way to change it to a period of 15 minutes? Why I ask is that most Smart Meters provide measurements for every 15 minutes.

On Thu, Aug 15, 2024 at 9:51 AM Benjamin Völker @.***> wrote:

It should be returned with the data in the dictionary but typically Volt, milliampere (due to better resolution), Watt, var, VA

— Reply to this email directly, view it on GitHub https://github.com/voelkerb/FIRED_dataset_helper/issues/5#issuecomment-2291305078, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFOIJPSARXFVWJMB4ZGGIJDZRSW5JAVCNFSM6AAAAABMOTX7ECVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJRGMYDKMBXHA . You are receiving this because you authored the thread.Message ID: @.***>

marciahon29 commented 2 months ago

I was able to get Active/Reactive/Apparent Powers for 65 appliances using the code you helped me with earlier.

However, there are 3 appliances (l1, l2, l3, stove) which I cannot get the Powers from. Do these appliances exist and were measured? Or do these items not have any values?

Processing 30 - "l1" ... Error loading data for smartmeter001. Requested samples: 8726400, actual samples: 8704800 Error loading data for smartmeter001. Requested samples: 8726400, actual samples: 8704800 Error loading data for smartmeter001. Requested samples: 8726400, actual samples: 8704800 Error processing "l1": list indices must be integers or slices, not str

Processing 31 - "l2" ... Error loading data for smartmeter001. Requested samples: 8726400, actual samples: 8704800 Error loading data for smartmeter001. Requested samples: 8726400, actual samples: 8704800 Error loading data for smartmeter001. Requested samples: 8726400, actual samples: 8704800 Error processing "l2": list indices must be integers or slices, not str

Processing 32 - "l3" ... Error loading data for smartmeter001. Requested samples: 8726400, actual samples: 8704800 Error loading data for smartmeter001. Requested samples: 8726400, actual samples: 8704800 Error loading data for smartmeter001. Requested samples: 8726400, actual samples: 8704800 Error processing "l3": list indices must be integers or slices, not str

Processing 58 - "stove" ... Unmonitored device found: stove Error processing "stove": argument of type 'int' is not iterable

On Thu, Aug 15, 2024 at 9:56 AM Marcia Hon @.***> wrote:

You have frequencies for 1Hz and 50Hz. Do you have some way to change it to a period of 15 minutes? Why I ask is that most Smart Meters provide measurements for every 15 minutes.

On Thu, Aug 15, 2024 at 9:51 AM Benjamin Völker @.***> wrote:

It should be returned with the data in the dictionary but typically Volt, milliampere (due to better resolution), Watt, var, VA

— Reply to this email directly, view it on GitHub https://github.com/voelkerb/FIRED_dataset_helper/issues/5#issuecomment-2291305078, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFOIJPSARXFVWJMB4ZGGIJDZRSW5JAVCNFSM6AAAAABMOTX7ECVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJRGMYDKMBXHA . You are receiving this because you authored the thread.Message ID: @.***>

voelkerb commented 2 months ago

Hm sounds like some error deep down in the code with that particular day. Have you tested a different day or even smaller chunks? For the sampling of 15min you need to implement your own logic. I have implemented resampling for all those functions but my guess is that this is integer only and will not work with 1/(15*60), but feel free to try this out. Same functions but samplingrate parameter.

marciahon29 commented 2 months ago

I have been able to implement the 1 minute and 15 minutes period.

With regards to (l1, l2, l3, stove), I used: power_data = hp.getPower(appliance, frequency) where appliance is "l1" and frequency is "1". Could I just omit them from the total Smart Meter? Is the Smart Meter data an aggregate of the individual appliances one-by-one or was it obtained by connecting all the devices to the Smart Meter at once?

On Thu, Aug 15, 2024 at 1:27 PM Benjamin Völker @.***> wrote:

Hm sounds like some error deep down in the code with that particular day. Have you tested a different day or even smaller chunks? For the sampling of 15min you need to implement your own logic. I have implemented resampling for all those functions but my guess is that this is integer only and will not work with 1/(15*60), but feel free to try this out. Same functions but samplingrate parameter.

— Reply to this email directly, view it on GitHub https://github.com/voelkerb/FIRED_dataset_helper/issues/5#issuecomment-2291805955, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFOIJPSJNKNXU4ACML2UB53ZRTQINAVCNFSM6AAAAABMOTX7ECVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJRHAYDKOJVGU . You are receiving this because you authored the thread.Message ID: @.***>

voelkerb commented 6 days ago

SmartMeter Data is the aggregate of the individual appliance data but measured with a separate measuring equipment. Stove and ventilation system are not measured separately.