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.4.1.tar.gz (18.7 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for pydomotic-1.4.1.tar.gz
Algorithm Hash digest
SHA256 d0e0e14f3382991ae323cfb4a8e5588feb4b02286ff8dcc694c26cfdae23a979
MD5 cba821745271521c27422ccc2166e7bc
BLAKE2b-256 158aeaab77a28c6c60145dc59eddd94352ef93849fd11fd16e75c1893f7e4a8c

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