forked from erijo/sunnyportal-py
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsunnyportal2pvoutput
executable file
·73 lines (60 loc) · 2.28 KB
/
sunnyportal2pvoutput
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#!/usr/bin/env python3
# Copyright (c) 2016 Erik Johansson <[email protected]>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA
from datetime import date, datetime, timedelta
from getpass import getpass
import argparse
import configparser
import http.client as http
import logging
import sys
import sunnyportal.client, sunnyportal.responses
import time
import urllib.parse
def main():
logging.basicConfig(format='%(asctime)s %(levelname)s: %(message)s',
level=logging.DEBUG)
parser = argparse.ArgumentParser(
description="Connect to Sunny Portal")
parser.add_argument('config', help="Configuration file to use")
parser.add_argument('-n', '--dry-run', help="Don't send any data",
action="store_true")
args = parser.parse_args()
config = configparser.ConfigParser()
config['sunnyportal'] = {}
config['pvoutput'] = {}
config.read(args.config)
modified = False
if not config['sunnyportal'].get('email'):
config['sunnyportal']['email'] = input("Sunny Portal e-mail: ")
modified = True
if not config['sunnyportal'].get('password'):
config['sunnyportal']['password'] = getpass("Sunny Portal password: ")
modified = True
if modified:
with open(args.config, 'w') as configfile:
config.write(configfile)
client = sunnyportal.client.Client(
config['sunnyportal']['email'], config['sunnyportal']['password'])
plant = client.get_plants()[0]
print(plant)
homemanager = client.get_homemanager()
print("Homemanager")
print(homemanager)
client.logout()
if __name__ == '__main__':
main()