Added power factor
This commit is contained in:
parent
ac583ab407
commit
be7c46055e
@ -29,8 +29,9 @@ email = "your_email@example.com"
|
||||
phone_number = "your_phone_number"
|
||||
device_id = "your_device_id" # Optional
|
||||
average_cost_per_kwh = 4.0 # Optional, your average cost per kWh in UYU
|
||||
power_factor = 0.7 # Optional, your power factor
|
||||
|
||||
ute_client = UTEClient(email, phone_number, device_id, average_cost_per_kwh)
|
||||
ute_client = UTEClient(email, phone_number, device_id, average_cost_per_kwh, power_factor)
|
||||
```
|
||||
|
||||
### Available Methods
|
||||
|
@ -45,7 +45,7 @@ build-backend = "hatchling.build"
|
||||
|
||||
[project]
|
||||
name = "ute_wrapper"
|
||||
version = "1.0.3"
|
||||
version = "1.1.0"
|
||||
authors = [
|
||||
{ name="Roger Gonzalez", email="roger@rogs.me" },
|
||||
]
|
||||
|
@ -26,12 +26,23 @@ BASE_URL = "https://rocme.ute.com.uy/api/v1"
|
||||
|
||||
|
||||
class UTEClient:
|
||||
def __init__(self, email: str, phone_number: str, device_id: str = None, average_cost_per_kwh: float = None):
|
||||
def __init__(
|
||||
self,
|
||||
email: str,
|
||||
phone_number: str,
|
||||
device_id: str = None,
|
||||
average_cost_per_kwh: float = None,
|
||||
power_factor: float = None,
|
||||
):
|
||||
self.email = email
|
||||
self.phone_number = phone_number
|
||||
self.device_id = device_id
|
||||
self.average_cost_per_kwh = average_cost_per_kwh
|
||||
self.authorization = self._login()
|
||||
self.power_factor = power_factor
|
||||
|
||||
if self.power_factor and (self.power_factor < 0 or self.power_factor > 1):
|
||||
raise Exception("Your power factor has to be between 0 and 1")
|
||||
|
||||
if not self.device_id:
|
||||
devices = self.get_devices_list()
|
||||
@ -250,9 +261,11 @@ class UTEClient:
|
||||
elif reading_type == "V3":
|
||||
v3 = float(reading["valor"])
|
||||
|
||||
power_1_in_watts = v1 * i1
|
||||
power_2_in_watts = v2 * i2
|
||||
power_3_in_watts = v3 * i3
|
||||
power_factor = self.power_factor or 1
|
||||
|
||||
power_1_in_watts = v1 * i1 * power_factor
|
||||
power_2_in_watts = v2 * i2 * power_factor
|
||||
power_3_in_watts = v3 * i3 * power_factor
|
||||
|
||||
return round(power_1_in_watts + power_2_in_watts + power_3_in_watts, 3)
|
||||
|
||||
@ -293,6 +306,7 @@ class UTEClient:
|
||||
|
||||
return_dict = {**response}
|
||||
return_dict["data"]["power_in_watts"] = power_in_watts
|
||||
return_dict["data"]["using_power_factor"] = True if self.power_factor else False
|
||||
|
||||
return return_dict
|
||||
|
||||
|
Reference in New Issue
Block a user