@@ -642,21 +642,30 @@ async def _estimate_bill(self, contract_id, device_number, is_private_producer,
642
642
phase_count = None
643
643
connection_size = None
644
644
645
- if not is_private_producer or not last_meter_read :
645
+ if is_private_producer or not last_meter_read :
646
646
last_meter_reading = await self ._get_last_meter_reading (self ._bp_number , contract_id ,
647
647
device_number )
648
648
last_meter_read = last_meter_reading .reading
649
649
last_meter_read_date = last_meter_reading .reading_date .date ()
650
650
651
651
account_id = await self ._get_account_id ()
652
652
connection_size = await self ._get_connection_size (account_id )
653
- phase_count_str = connection_size .split ("X" )[0 ] \
654
- if connection_size .find ("X" ) != - 1 else "1"
655
- phase_count = int (phase_count_str )
653
+ if connection_size :
654
+ phase_count_str = connection_size .split ("X" )[0 ] \
655
+ if connection_size .find ("X" ) != - 1 else "1"
656
+ phase_count = int (phase_count_str )
656
657
657
- distribution_tariff = await self ._get_distribution_tariff (phase_count )
658
- delivery_tariff = await self ._get_delivery_tariff (phase_count )
659
- power_size = await self ._get_power_size (connection_size )
658
+ if connection_size :
659
+ power_size = await self ._get_power_size (connection_size )
660
+ else :
661
+ _LOGGER .warning ("Couldn't get Connection Size" )
662
+
663
+ if phase_count :
664
+ distribution_tariff = await self ._get_distribution_tariff (phase_count )
665
+ delivery_tariff = await self ._get_delivery_tariff (phase_count )
666
+ else :
667
+ if connection_size :
668
+ _LOGGER .warning ("Couldn't get Phase Count" )
660
669
661
670
return self ._calculate_estimated_bill (device_number , future_consumption ,
662
671
last_meter_read , last_meter_read_date ,
0 commit comments