Skip to main content

Python library for home automation execution, enabling seamless control and management of your IoT devices

Project description

pydomotic

PyPI version

A Python library for home automation execution, enabling seamless control and management of your IoT devices.

"Domotics": The automatic control of home appliances by electronic systems. Contraction of domestic robotics, from the Latin domus ("home"), and robotics.

Getting Started

  1. Install pydomotic in your environment.

    $ pip install pydomotic
    
  2. Create your pydomotic.yml configuration file where you will define your devices and automations.

    # pydomotic.yml
    
    devices:
      fan:
        description: fan switch
        provider: noop
        id: '012'
      thermometer:
        description: temperature sensor
        provider: noop
        id: '345'
    
    automations:
      fan:
        enabled: true
        components:
          - if:
              thermometer:
                temp: '>75'
            then:
              turn-on: fan
            else:
              turn-off: fan
    
  3. Running the following will check each trigger and execute any actions.

    $ python -m pydomotic
    

Note that each configured provider will require separate installation of its specific dependencies. For installing these dependencies and full configuration documentation, see CONFIGURATION.md

For more details on deployment options, see DEPLOYING.md

Glossary

trigger: A small piece of code which evaluates to either true or false. Usually it calls on devices or 3rd party APIs to make this determination.

action: A small piece of code which is run when a trigger fires. Usually this is managing device state like turning a lightbulb on or off. When configured, it can be designated as a "then" action or an "else" action.

provider: The third party which owns the API for a set of devices. The manufacturer of a device will usually provide this API.

device: Any IoT device which can be controled with a 3rd party API managed by a provider.

sensor: A device or 3rd party API which senses information about the physical world around it. For example, a smart lightbulb or REST based current weather API.

component: A grouping of triggers and actions. When all triggers evaluate to true, its "then" actions will be run. When any trigger evaluates to false, its "else" actions will be run.

handler: The code used to run a set of components. This is the main entrypoint to the pydomotic system.

parser: The code used to read the configuration yaml and transform it into a list of components.

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

pydomotic-1.3.1.tar.gz (18.4 kB view details)

Uploaded Source

File details

Details for the file pydomotic-1.3.1.tar.gz.

File metadata

  • Download URL: pydomotic-1.3.1.tar.gz
  • Upload date:
  • Size: 18.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.7

File hashes

Hashes for pydomotic-1.3.1.tar.gz
Algorithm Hash digest
SHA256 38492e51850b82d7ffa6480360ccc4d60b1676838f2e1a4576131c83cca77fbf
MD5 9d4ee91856ff5cd2a5f556f479b1dd95
BLAKE2b-256 fa6c3d1b389c5726ad425cdb6ea5fc40b8fcd70e97767f61e0a3b34933d55e66

See more details on using hashes here.

Provenance

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