Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import requests
- import urllib, urllib2
- import json
- # #config
- username = '4017132300@hewalex.net' #your username
- password = '123456' #your password
- domain = 'm.ginlong.com' #domain
- plantId = '503516' #plant id
- lan = '2' #lanuage (2 = English)
- # #Aome Assistant settings
- home_assistant_host = 'http://192.168.100.150'
- home_assistant_port = '8123'
- # Create session for requests
- session = requests.session()
- #building url
- url = 'http://'+domain+'/cpro/login/validateLogin.json'
- params = {
- "userName": username,
- "password": password,
- "lan": lan,
- "domain": domain,
- "userType": "C"
- }
- #login call
- resultData = session.post(url, params=params)
- resultJson = resultData.json()
- print(resultJson)
- if resultJson['result'].get('isAccept') == 1:
- print("Login Succesfull!")
- else:
- print("Login Failed!!")
- Exit()
- # Get plant details
- url = 'http://'+domain+'/cpro/epc/plantDetail/showPlantDetailAjax.json'
- params = {
- 'plantId': int(plantId)
- }
- cookies = {'language': lan}
- resultData = session.get(url, params=params, cookies=cookies)
- session.close()
- resultJson = resultData.json()
- print(json.dumps(resultJson, indent=4, sort_keys=True))
- actual_power = resultJson['result']['plantAllWapper']['plantData'].get('power')
- energy_today = resultJson['result']['plantAllWapper']['plantData'].get('energyToday')
- energy_total = resultJson['result']['plantAllWapper']['plantData'].get('energyTotal')
- #logging values
- #print('TodayIncome: ' + str(TodayIncome))
- #print('ActualPower: ' + str(ActualPower))
- #print('etoday: ' + str(etoday))
- #print('etotal: ' + str(etotal))
- #print('etotal 1000: ' + str(etotalstr))
- #uploading values to Home Assitant
- def requestBody(actual_power, energy_today, energy_total):
- return {
- "state": 'OK',
- "attributes": {
- "friendly_name": "Panele Fotowoltaiczne",
- "actual_power": str(actual_power),
- "energy_today": str(energy_today),
- "energy_total": str(energy_total)
- }
- }
- headers = {
- "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiI3ZDhkY2RlZWM5OWY0MmE5YTE2ZmM5MWUyY2UwODg2MCIsImlhdCI6MTU4NTQ4NzMzNiwiZXhwIjoxOTAwODQ3MzM2fQ.IdwIn9iAUYNLfGVbdpRfoodGHtg82Ld5I9vcvjHjCVI",
- "Content-Type": "application/json"
- }
- actual_power_url = home_assistant_host + ":" + home_assistant_port + "/api/states/sensor.solar_power_plant"
- requests.post(actual_power_url, json=requestBody(actual_power, energy_today, energy_total), headers=headers)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement