Skip to main content

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

  1. Added WiBeee.getScale()
  2. Added WiBeee.getCoilStatus()
  3. Added WiBeee.getGround()
  4. Added WiBeee.getModel()
  5. Added WiBeee.getFirmwareVersion()
  6. Added WiBeee.getTime()
  7. Moved WiBeee.getInfo() to WiBeee.__getInfo()
  8. Moved WiBeee.power() to WiBeee.getPower()
  9. Moved WiBeee.current() to WiBeee.getCurrent()
  10. Moved WiBeee.voltage() to WiBeee.getVoltage()
  11. Moved WiBeee.frequency() to WiBeee.getFrequency()

1.1.0

Added documentation and changed function names

  1. Moved WiBeee.getHost() to WiBeee.getIP()
  2. Moved WiBeee.host to WiBeee.ip
  3. Removed pretty option in WiBeee.power()
  4. Moved WiBeee.callURL() to WiBeee.__callURL()
  5. Moved errors.BadHostName to errors.BadIP
  6. Moved WiBeee.autoDiscover() to WiBeee.__findDeviceIP()
  7. Added variable attempts to WiBeee.__findDeviceIP()
  8. Added WiBeee.setTimeout()
  9. 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

wibeee-1.2.0.tar.gz (19.5 kB view details)

Uploaded Source

Built Distribution

wibeee-1.2.0-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

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

Hashes for wibeee-1.2.0.tar.gz
Algorithm Hash digest
SHA256 7d5b9fa9e06292e7294208e3a4ebc826b6876ffa15d1c42146ec5b5979f0d99e
MD5 16e1a3da6f5c6bd97e24e6aa7bb82af8
BLAKE2b-256 29296d4db9be22078be5e1974d2ae62a4399da6336e1df70e5bffe461b6b6a27

See more details on using hashes here.

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

Hashes for wibeee-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 17d4bccc7044525f4470d8cf577c98d02981a786a52864e29481ff016774ed23
MD5 5c79d4f2bae7f0f2164262bbb1985b8d
BLAKE2b-256 220db81cf63dc1d28b97777a1034e823c14028e8eafa1313791ce5d3910727dd

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page