So your query had a few issues with it that I think have been corrected. But also, i think this answer is too easy to what your question is. Anyway, I created two var tables to simulate the tables you used to run the query against as you didn't provide any schema to look at.
If this isn't the answer to your question, If you would like to provide your schema for this stored proc along with the indication of what 2 columns contain your date/time then I'm sure a more accurate answer can be provided.
DECLARE @SiteId INT;
DECLARE @StartDate DATETIME;
DECLARE @EndDate DATETIME;
DECLARE @TimeZone INT;
DECLARE @rawdata TABLE (
SiteId INT NULL,
Li_BattCurrentCharge1 VARCHAR(10) NULL,
Li_BattCurrentCharge2 VARCHAR(10) NULL,
Li_BattCurrentCharge3 VARCHAR(10) NULL,
Li_BattCurrentCharge4 VARCHAR(10) NULL,
Li_BattCurrentCharge5 VARCHAR(10) NULL,
Li_BattCurrentDischarge1 VARCHAR(10) NULL,
Li_BattCurrentDischarge2 VARCHAR(10) NULL,
Li_BattCurrentDischarge3 VARCHAR(10) NULL,
Li_BattCurrentDischarge4 VARCHAR(10) NULL,
Li_BattCurrentDischarge5 VARCHAR(10) NULL,
[Date] VARCHAR(200) NULL
);
DECLARE @sites TABLE (
siteId INT NULL,
sitenumber VARCHAR(50) NULL
);
BEGIN
DECLARE @sitePid varchar(50);
select @sitePid=(SELECT sitenumber from @sites where siteId=@siteId)
SELECT *,
(Cast(Li_BattCurrentCharge1 as float)+
CAST(Li_BattCurrentCharge2 as float)+
CAST(Li_BattCurrentCharge3 as float)+
CAST(Li_BattCurrentCharge4 as float)) AS LiCurrentCharge,
(CAST(Li_BattCurrentDischarge1 as float)+
CAST(Li_BattCurrentDischarge2 as float)+
CAST(Li_BattCurrentDischarge3 as float)+
CAST(Li_BattCurrentDischarge4 as float))as LiCurrentDischarge
FROM @rawdata
WHERE SiteId=@sitePid AND
CONVERT(varchar,convert(date, [Date], 103),101) BETWEEN @StartDate and @EndDate
ORDER BY [Date]
End
GO