summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-18 04:58:10 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-18 04:58:10 +0000
commitfb42c2249e83ea724299623b5805ab48e3026420 (patch)
treea484a73a6087c0b1928ada138e1f659108bff3bc
parent1abeba77f778b59bb6c1545c057ce46e2ca758e6 (diff)
automatic import of python-pymyenergi
-rw-r--r--.gitignore1
-rw-r--r--python-pymyenergi.spec520
-rw-r--r--sources1
3 files changed, 522 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..336c2fd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/pymyenergi-0.0.27.tar.gz
diff --git a/python-pymyenergi.spec b/python-pymyenergi.spec
new file mode 100644
index 0000000..3403941
--- /dev/null
+++ b/python-pymyenergi.spec
@@ -0,0 +1,520 @@
+%global _empty_manifest_terminate_build 0
+Name: python-pymyenergi
+Version: 0.0.27
+Release: 1
+Summary: Python library and CLI for communicating with myenergi API.
+License: MIT
+URL: https://github.com/cjne/pymyenergi
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/61/0b/bc57a4a9fa3b3a0cbe8def528951236a6acf93d3c59b9228aa4420629e32/pymyenergi-0.0.27.tar.gz
+BuildArch: noarch
+
+Requires: python3-httpx
+
+%description
+# pymyenergi
+
+An async python library for myenergi API
+
+This is a very early release, things are changing rapidly so use at your own risk!
+
+_NOTE:_ This work is not officially supported by myenergi and functionality can stop working at any time without warning
+
+## Installation
+
+The easiest method is to install using pip3/pip (venv is also a good idea)
+
+```
+pip install pymyenergi
+```
+
+to update to the latest version
+
+```
+pip install pymyenergi -U
+```
+
+Setup will add a cli under the name myenergicli, see below for usage
+
+## CLI
+
+A simple cli is provided with this library.
+
+If no username or password is supplied as input arguments and no configuration file is found you will be prompted.
+Conifguration file will be searched for in ./.myenergi.cfg and ~/.myenergi.cfg
+
+### Example configuration file
+
+```
+[hub]
+serial=12345678
+password=yourpassword
+```
+
+### CLI usage
+
+```
+usage: myenergi [-h] [-u USERNAME] [-p PASSWORD] [-d] [-j]
+ {list,overview,zappi,eddi,harvi} ...
+
+myenergi CLI.
+
+positional arguments:
+ {list,overview,zappi,eddi,harvi}
+ sub-command help
+ list list devices
+ overview show overview
+ zappi use zappi --help for available commands
+ eddi use eddi --help for available commands
+ harvi use harvi --help for available commands
+
+optional arguments:
+ -h, --help show this help message and exit
+ -u USERNAME, --username USERNAME
+ -p PASSWORD, --password PASSWORD
+ -d, --debug
+ -j, --json
+```
+
+## Library usage
+
+Install pymyenergi using pip (requires python > 3.6)
+
+### Example client usage
+
+```
+import asyncio
+from pymyenergi.connection import Connection
+from pymyenergi.client import MyenergiClient
+from sys import argv
+import logging
+
+logging.basicConfig()
+logging.root.setLevel(logging.INFO)
+
+user = argv[1]
+password = argv[2]
+
+async def zappis() -> None:
+ conn = Connection(user, password)
+ client = MyenergiClient(conn)
+
+ zappis = await client.getDevices('zappi')
+ for zappi in zappis:
+ print(f"Zappi {zappi.serial_number} charge mode {zappi.charge_mode}")
+
+loop = asyncio.get_event_loop()
+loop.run_until_complete(zappis())
+```
+
+### Example client usage - Zappi
+
+```
+import asyncio
+from pymyenergi.connection import Connection
+from pymyenergi.zappi import Zappi
+from sys import argv
+import logging
+
+logging.basicConfig()
+logging.root.setLevel(logging.INFO)
+
+user = argv[1]
+password = argv[2]
+zappi_serial = argv[3]
+
+
+async def get_data() -> None:
+ conn = Connection(user, password)
+ zappi = Zappi(conn, zappi_serial)
+ await zappi.refresh()
+ print(f"Zappi S/N {zappi.serial_number} version {zappi.firmware_version}")
+ print(f"Status: {zappi.status} Plug status: {zappi.plug_status} Locked: {zappi.locked}")
+ print(f"Priority: {zappi.priority}")
+ print(f"Charge mode: {zappi.charge_mode} {zappi.num_phases} phase")
+ print("")
+ print(f"Lock when plugged in : {zappi.lock_when_pluggedin}")
+ print(f"Lock when unplugged : {zappi.lock_when_unplugged}")
+ print(f"Charge when locked : {zappi.charge_when_locked}")
+ print(f"Charge session allowed : {zappi.charge_session_allowed}")
+ print(f"Charge added: {zappi.charge_added}")
+ print("")
+ print(f"CT 1 {zappi.ct1.name} {zappi.ct1.power}W")
+ print(f"CT 2 {zappi.ct2.name} {zappi.ct2.power}W")
+ print(f"CT 3 {zappi.ct3.name} {zappi.ct3.power}W")
+ print(f"CT 4 {zappi.ct4.name} {zappi.ct4.power}W")
+ print(f"CT 5 {zappi.ct5.name} {zappi.ct5.power}W")
+ print(f"CT 6 {zappi.ct6.name} {zappi.ct6.power}W")
+ print("")
+ print(f"Supply voltage: {zappi.supply_voltage}V frequency: {zappi.supply_frequency}Hz")
+ print("Power:")
+ print(f" Grid : {zappi.power_grid}W")
+ print(f" Generated : {zappi.power_generated}W")
+ print("")
+ print(f" Boost start at {zappi.boost_start_hour}:{zappi.boost_start_minute} add {zappi.boost_amount}kWh")
+ print(f"Smart Boost start at {zappi.smart_boost_start_hour}:{zappi.smart_boost_start_minute} add {zappi.smart_boost_amount}kWh")
+
+loop = asyncio.get_event_loop()
+loop.run_until_complete(get_data())
+```
+
+## Credits
+
+[twonk](https://github.com/twonk/MyEnergi-App-Api) for documenting the unofficial API
+
+
+%package -n python3-pymyenergi
+Summary: Python library and CLI for communicating with myenergi API.
+Provides: python-pymyenergi
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-pymyenergi
+# pymyenergi
+
+An async python library for myenergi API
+
+This is a very early release, things are changing rapidly so use at your own risk!
+
+_NOTE:_ This work is not officially supported by myenergi and functionality can stop working at any time without warning
+
+## Installation
+
+The easiest method is to install using pip3/pip (venv is also a good idea)
+
+```
+pip install pymyenergi
+```
+
+to update to the latest version
+
+```
+pip install pymyenergi -U
+```
+
+Setup will add a cli under the name myenergicli, see below for usage
+
+## CLI
+
+A simple cli is provided with this library.
+
+If no username or password is supplied as input arguments and no configuration file is found you will be prompted.
+Conifguration file will be searched for in ./.myenergi.cfg and ~/.myenergi.cfg
+
+### Example configuration file
+
+```
+[hub]
+serial=12345678
+password=yourpassword
+```
+
+### CLI usage
+
+```
+usage: myenergi [-h] [-u USERNAME] [-p PASSWORD] [-d] [-j]
+ {list,overview,zappi,eddi,harvi} ...
+
+myenergi CLI.
+
+positional arguments:
+ {list,overview,zappi,eddi,harvi}
+ sub-command help
+ list list devices
+ overview show overview
+ zappi use zappi --help for available commands
+ eddi use eddi --help for available commands
+ harvi use harvi --help for available commands
+
+optional arguments:
+ -h, --help show this help message and exit
+ -u USERNAME, --username USERNAME
+ -p PASSWORD, --password PASSWORD
+ -d, --debug
+ -j, --json
+```
+
+## Library usage
+
+Install pymyenergi using pip (requires python > 3.6)
+
+### Example client usage
+
+```
+import asyncio
+from pymyenergi.connection import Connection
+from pymyenergi.client import MyenergiClient
+from sys import argv
+import logging
+
+logging.basicConfig()
+logging.root.setLevel(logging.INFO)
+
+user = argv[1]
+password = argv[2]
+
+async def zappis() -> None:
+ conn = Connection(user, password)
+ client = MyenergiClient(conn)
+
+ zappis = await client.getDevices('zappi')
+ for zappi in zappis:
+ print(f"Zappi {zappi.serial_number} charge mode {zappi.charge_mode}")
+
+loop = asyncio.get_event_loop()
+loop.run_until_complete(zappis())
+```
+
+### Example client usage - Zappi
+
+```
+import asyncio
+from pymyenergi.connection import Connection
+from pymyenergi.zappi import Zappi
+from sys import argv
+import logging
+
+logging.basicConfig()
+logging.root.setLevel(logging.INFO)
+
+user = argv[1]
+password = argv[2]
+zappi_serial = argv[3]
+
+
+async def get_data() -> None:
+ conn = Connection(user, password)
+ zappi = Zappi(conn, zappi_serial)
+ await zappi.refresh()
+ print(f"Zappi S/N {zappi.serial_number} version {zappi.firmware_version}")
+ print(f"Status: {zappi.status} Plug status: {zappi.plug_status} Locked: {zappi.locked}")
+ print(f"Priority: {zappi.priority}")
+ print(f"Charge mode: {zappi.charge_mode} {zappi.num_phases} phase")
+ print("")
+ print(f"Lock when plugged in : {zappi.lock_when_pluggedin}")
+ print(f"Lock when unplugged : {zappi.lock_when_unplugged}")
+ print(f"Charge when locked : {zappi.charge_when_locked}")
+ print(f"Charge session allowed : {zappi.charge_session_allowed}")
+ print(f"Charge added: {zappi.charge_added}")
+ print("")
+ print(f"CT 1 {zappi.ct1.name} {zappi.ct1.power}W")
+ print(f"CT 2 {zappi.ct2.name} {zappi.ct2.power}W")
+ print(f"CT 3 {zappi.ct3.name} {zappi.ct3.power}W")
+ print(f"CT 4 {zappi.ct4.name} {zappi.ct4.power}W")
+ print(f"CT 5 {zappi.ct5.name} {zappi.ct5.power}W")
+ print(f"CT 6 {zappi.ct6.name} {zappi.ct6.power}W")
+ print("")
+ print(f"Supply voltage: {zappi.supply_voltage}V frequency: {zappi.supply_frequency}Hz")
+ print("Power:")
+ print(f" Grid : {zappi.power_grid}W")
+ print(f" Generated : {zappi.power_generated}W")
+ print("")
+ print(f" Boost start at {zappi.boost_start_hour}:{zappi.boost_start_minute} add {zappi.boost_amount}kWh")
+ print(f"Smart Boost start at {zappi.smart_boost_start_hour}:{zappi.smart_boost_start_minute} add {zappi.smart_boost_amount}kWh")
+
+loop = asyncio.get_event_loop()
+loop.run_until_complete(get_data())
+```
+
+## Credits
+
+[twonk](https://github.com/twonk/MyEnergi-App-Api) for documenting the unofficial API
+
+
+%package help
+Summary: Development documents and examples for pymyenergi
+Provides: python3-pymyenergi-doc
+%description help
+# pymyenergi
+
+An async python library for myenergi API
+
+This is a very early release, things are changing rapidly so use at your own risk!
+
+_NOTE:_ This work is not officially supported by myenergi and functionality can stop working at any time without warning
+
+## Installation
+
+The easiest method is to install using pip3/pip (venv is also a good idea)
+
+```
+pip install pymyenergi
+```
+
+to update to the latest version
+
+```
+pip install pymyenergi -U
+```
+
+Setup will add a cli under the name myenergicli, see below for usage
+
+## CLI
+
+A simple cli is provided with this library.
+
+If no username or password is supplied as input arguments and no configuration file is found you will be prompted.
+Conifguration file will be searched for in ./.myenergi.cfg and ~/.myenergi.cfg
+
+### Example configuration file
+
+```
+[hub]
+serial=12345678
+password=yourpassword
+```
+
+### CLI usage
+
+```
+usage: myenergi [-h] [-u USERNAME] [-p PASSWORD] [-d] [-j]
+ {list,overview,zappi,eddi,harvi} ...
+
+myenergi CLI.
+
+positional arguments:
+ {list,overview,zappi,eddi,harvi}
+ sub-command help
+ list list devices
+ overview show overview
+ zappi use zappi --help for available commands
+ eddi use eddi --help for available commands
+ harvi use harvi --help for available commands
+
+optional arguments:
+ -h, --help show this help message and exit
+ -u USERNAME, --username USERNAME
+ -p PASSWORD, --password PASSWORD
+ -d, --debug
+ -j, --json
+```
+
+## Library usage
+
+Install pymyenergi using pip (requires python > 3.6)
+
+### Example client usage
+
+```
+import asyncio
+from pymyenergi.connection import Connection
+from pymyenergi.client import MyenergiClient
+from sys import argv
+import logging
+
+logging.basicConfig()
+logging.root.setLevel(logging.INFO)
+
+user = argv[1]
+password = argv[2]
+
+async def zappis() -> None:
+ conn = Connection(user, password)
+ client = MyenergiClient(conn)
+
+ zappis = await client.getDevices('zappi')
+ for zappi in zappis:
+ print(f"Zappi {zappi.serial_number} charge mode {zappi.charge_mode}")
+
+loop = asyncio.get_event_loop()
+loop.run_until_complete(zappis())
+```
+
+### Example client usage - Zappi
+
+```
+import asyncio
+from pymyenergi.connection import Connection
+from pymyenergi.zappi import Zappi
+from sys import argv
+import logging
+
+logging.basicConfig()
+logging.root.setLevel(logging.INFO)
+
+user = argv[1]
+password = argv[2]
+zappi_serial = argv[3]
+
+
+async def get_data() -> None:
+ conn = Connection(user, password)
+ zappi = Zappi(conn, zappi_serial)
+ await zappi.refresh()
+ print(f"Zappi S/N {zappi.serial_number} version {zappi.firmware_version}")
+ print(f"Status: {zappi.status} Plug status: {zappi.plug_status} Locked: {zappi.locked}")
+ print(f"Priority: {zappi.priority}")
+ print(f"Charge mode: {zappi.charge_mode} {zappi.num_phases} phase")
+ print("")
+ print(f"Lock when plugged in : {zappi.lock_when_pluggedin}")
+ print(f"Lock when unplugged : {zappi.lock_when_unplugged}")
+ print(f"Charge when locked : {zappi.charge_when_locked}")
+ print(f"Charge session allowed : {zappi.charge_session_allowed}")
+ print(f"Charge added: {zappi.charge_added}")
+ print("")
+ print(f"CT 1 {zappi.ct1.name} {zappi.ct1.power}W")
+ print(f"CT 2 {zappi.ct2.name} {zappi.ct2.power}W")
+ print(f"CT 3 {zappi.ct3.name} {zappi.ct3.power}W")
+ print(f"CT 4 {zappi.ct4.name} {zappi.ct4.power}W")
+ print(f"CT 5 {zappi.ct5.name} {zappi.ct5.power}W")
+ print(f"CT 6 {zappi.ct6.name} {zappi.ct6.power}W")
+ print("")
+ print(f"Supply voltage: {zappi.supply_voltage}V frequency: {zappi.supply_frequency}Hz")
+ print("Power:")
+ print(f" Grid : {zappi.power_grid}W")
+ print(f" Generated : {zappi.power_generated}W")
+ print("")
+ print(f" Boost start at {zappi.boost_start_hour}:{zappi.boost_start_minute} add {zappi.boost_amount}kWh")
+ print(f"Smart Boost start at {zappi.smart_boost_start_hour}:{zappi.smart_boost_start_minute} add {zappi.smart_boost_amount}kWh")
+
+loop = asyncio.get_event_loop()
+loop.run_until_complete(get_data())
+```
+
+## Credits
+
+[twonk](https://github.com/twonk/MyEnergi-App-Api) for documenting the unofficial API
+
+
+%prep
+%autosetup -n pymyenergi-0.0.27
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-pymyenergi -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Thu May 18 2023 Python_Bot <Python_Bot@openeuler.org> - 0.0.27-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..4c5a177
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+d091bcad1a42a51e80dde720cf5deeb1 pymyenergi-0.0.27.tar.gz