Skip to main content

Access API for echorobotics robot lawn mowers

Project description

pyechorobotics

Echorobotics Logo

Allows control and reads status of robot lawn mowers by echorobotics.

Used by Home Assistant Echorobotics integration.

Example:

import sys

import echoroboticsapi
import aiohttp
import asyncio
import logging


async def main():
    async with aiohttp.ClientSession(cookies=echoroboticsapi.create_cookies(user_id="your-user-id", user_token="user-user-token")) as session:
        api = echoroboticsapi.Api(session, robot_ids=["your-robot-id"])
        print(await api.last_statuses())
        print(await api.set_mode("chargeAndWork"))


if __name__ == "__main__":
    logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)
    loop = asyncio.new_event_loop()
    loop.run_until_complete(main())

Unfortunately, the API doesn't tell is which mode the robot is in. We can make an educated guess though, depending on what we set ourselves, history events and the status. This is what SmartMode does:

import sys

import echoroboticsapi
import aiohttp
import asyncio
import logging


async def main():
    async with aiohttp.ClientSession(cookies=echoroboticsapi.create_cookies(user_id="your-user-id", user_token="user-user-token")) as session:
        api = echoroboticsapi.Api(session, robot_ids=["your-robot-id"])
        smartmode = echoroboticsapi.SmartMode("your-robot-id")
        api.register_smart_mode(smartmode)
        
        print(await api.history_list())
        print(await api.last_statuses())
        print(await smartmode.get_robot_mode())


if __name__ == "__main__":
    logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)
    loop = asyncio.new_event_loop()
    loop.run_until_complete(main())

See also src/main.py

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

pyechorobotics-0.0.19.tar.gz (21.4 kB view details)

Uploaded Source

Built Distribution

pyechorobotics-0.0.19-py3-none-any.whl (21.0 kB view details)

Uploaded Python 3

File details

Details for the file pyechorobotics-0.0.19.tar.gz.

File metadata

  • Download URL: pyechorobotics-0.0.19.tar.gz
  • Upload date:
  • Size: 21.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for pyechorobotics-0.0.19.tar.gz
Algorithm Hash digest
SHA256 f327af0e3e3fedeb164d082f0a28956a4cb4ac405947b8af542c8e03f48bab1c
MD5 59ecf51b2cc801fa54970ad13d6d9f3b
BLAKE2b-256 e120c0bca4a6d522b89bc8275c3c30c2da051760be9eed556823b38e7ee35ab1

See more details on using hashes here.

File details

Details for the file pyechorobotics-0.0.19-py3-none-any.whl.

File metadata

File hashes

Hashes for pyechorobotics-0.0.19-py3-none-any.whl
Algorithm Hash digest
SHA256 6d31073db3235c1630531067c3031993e8b7624ddab7ad25cd18417d5221f1b3
MD5 b2dd2a145661dd20501d78a56c770ebe
BLAKE2b-256 187717d3159a291da720dc63ca977092b6b4695d0ea8b2d81a2af0edf08fea27

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