An api interface for WiBeee
Project description
██╗ ██╗██╗██████╗ ███████╗███████╗███████╗
██║ ██║██║██╔══██╗██╔════╝██╔════╝██╔════╝
██║ █╗ ██║██║██████╔╝█████╗ █████╗ █████╗
██║███╗██║██║██╔══██╗██╔══╝ ██╔══╝ ██╔══╝
╚███╔███╔╝██║██████╔╝███████╗███████╗███████╗
╚══╝╚══╝ ╚═╝╚═════╝ ╚══════╝╚══════╝╚══════╝
This is a python API client for WiBeee products. WiBeee client will get live info like Power (W) usage in an easy-to-use python class. Currently, WiBeee is in the early stages and can be improved. If you have any feature requests or optimisations, feel free to set up a pull request or drop me a message.
This project assumes you already have your WiBeee hardware setup.
This project was inspired by pywibeee.
To see code examples checkout examples.py
or scroll down to usages
Projects that use yodas
No open source projects yet! Send me your projects to be featured here.
Install
From PIP
The easiest method of installing is through pip
$ pip install wibeee
or to upgrade
$ pip install --upgrade wibeee
From Git Repository
For this I assume you already have a virtual python environment or that python3 is aliased as python.
$ python -m pip install --upgrade build
$ python -m build
$ pip install dist/*.tar.gz # for the latest version of yodas.
From Releases (latest)
$ wget https://github.com/veryheavypickle/wibeee/releases/download/v1.2.0/wibeee-1.2.0.tar.gz
$ pip install wibeee-1.2.0.tar.gz
Usages
Connecting
If you know the local IP address of your WiBeee device, then you can connect as such.
>>> from wibeee import WiBeee
>>> wb = WiBeee("192.168.1.150")
If you don't know the IP address, don't worry as there is a discovery function and it will connect to the first WiBeee device it finds. This discovery will take a while.
>>> from wibeee import WiBeee
>>> wb = WiBeee()
WiBeee
>>> from wibeee import WiBeee
>>> wb = WiBeee(ip=None, port=80, timeout=10.0, verbose=False)
ip:
str
port:
int
timeout:
float
verbose:
bool
returns:
WiBeee
ip
This is the IP address of the WiBeee device. ip
is not a required variable but providing ip
skips discovery which speeds up the process.
For example WiBeee("192.168.1.150")
or WiBeee(ip="192.168.1.150")
.
port
By default it is 80
, This is the open port of the WiBeee device webserver.
timeout
By default it is 10.0
, This is how many seconds the program waits while attempting to connect to the WiBeee device.
If you wish to change this after creating the WiBeee
object, simply run WiBeee.setTimeout(newValue)
.
verbose
By default it is False
, in my case the WiBeee webserver is highly unreliable. If you want to watch wibeee
solve errors in real time,
either set verbose=True
when creating the WiBeee
object or WiBeee.setVerbose(True)
.
Power
>> > wb.getPower()
100.0
This function returns the current power usage in Watts (W). The phase is by default 1
but can be up to 4
.
phase:
int
returns:
float
Current
>> > wb.getCurrent()
1.0
This function returns the current amp usage in Amps (A). The phase is by default 1
but can be up to 4
.
phase:
int
returns:
float
Voltage
>> > wb.getVoltage()
230.0
This function returns the voltage in Volts (V). The phase is by default 1
but can be up to 4
.
phase:
int
returns:
float
Frequency
>> > wb.getFrequency()
50.0
This function returns the frequency (Hz) of the AC . The phase is by default 1
but can be up to 4
.
phase:
int
returns:
float
Scale
>> > wb.getScale()
60
This function returns the scale. Currently, I don't know what scale
is or what its units are, but the functionality exists.
returns:
int
Coil Status
>> > wb.getCoilStatus()
'-'
This function returns the coil status. Currently, I don't know what the possible statuses are, I will update this README once I do know.
returns:
str
Ground
>> > wb.getGround()
'-'
This function returns the ground. I am assuming that ground is in Volts (V)
returns:
float
Model
>> > wb.getGround()
'-'
This function returns the ground. I am assuming that ground is in Volts (V)
returns:
float
IP
>>> wb.getIP()
'192.168.1.150'
This function returns the ip address of the WiBeee device.
returns:
str
Model
>>> wb.getModel()
'WBB'
This function returns the model the WiBeee device.
returns:
str
Firmware Version
>>> wb.getFirmwareVersion()
'4.4.164'
This function returns the firmware version of the WiBeee device.
returns:
str
Time
>>> wb.getTime()
2022-10-30 16:57:22
This function returns the current time in the device.
The return type is datetime.datetime
, you can read more about it here
returns:
datetime.datetime
Changelog
1.2.0
Added more functions
- Added
WiBeee.getScale()
- Added
WiBeee.getCoilStatus()
- Added
WiBeee.getGround()
- Added
WiBeee.getModel()
- Added
WiBeee.getFirmwareVersion()
- Added
WiBeee.getTime()
- Moved
WiBeee.getInfo()
toWiBeee.__getInfo()
- Moved
WiBeee.power()
toWiBeee.getPower()
- Moved
WiBeee.current()
toWiBeee.getCurrent()
- Moved
WiBeee.voltage()
toWiBeee.getVoltage()
- Moved
WiBeee.frequency()
toWiBeee.getFrequency()
1.1.0
Added documentation and changed function names
- Moved
WiBeee.getHost()
toWiBeee.getIP()
- Moved
WiBeee.host
toWiBeee.ip
- Removed
pretty
option inWiBeee.power()
- Moved
WiBeee.callURL()
toWiBeee.__callURL()
- Moved
errors.BadHostName
toerrors.BadIP
- Moved
WiBeee.autoDiscover()
toWiBeee.__findDeviceIP()
- Added variable
attempts
toWiBeee.__findDeviceIP()
- Added
WiBeee.setTimeout()
- Added
WiBeee.setVerbose()
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file wibeee-1.2.0.tar.gz
.
File metadata
- Download URL: wibeee-1.2.0.tar.gz
- Upload date:
- Size: 19.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d5b9fa9e06292e7294208e3a4ebc826b6876ffa15d1c42146ec5b5979f0d99e |
|
MD5 | 16e1a3da6f5c6bd97e24e6aa7bb82af8 |
|
BLAKE2b-256 | 29296d4db9be22078be5e1974d2ae62a4399da6336e1df70e5bffe461b6b6a27 |
File details
Details for the file wibeee-1.2.0-py3-none-any.whl
.
File metadata
- Download URL: wibeee-1.2.0-py3-none-any.whl
- Upload date:
- Size: 18.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17d4bccc7044525f4470d8cf577c98d02981a786a52864e29481ff016774ed23 |
|
MD5 | 5c79d4f2bae7f0f2164262bbb1985b8d |
|
BLAKE2b-256 | 220db81cf63dc1d28b97777a1034e823c14028e8eafa1313791ce5d3910727dd |