{"id":24585733,"url":"https://github.com/nugget/python-insteonplm","last_synced_at":"2025-04-28T12:01:39.225Z","repository":{"id":48372698,"uuid":"77843636","full_name":"nugget/python-insteonplm","owner":"nugget","description":"Python 3 asyncio module for interfacing with Insteon Powerline modems","archived":false,"fork":false,"pushed_at":"2021-07-29T11:15:00.000Z","size":1040,"stargazers_count":33,"open_issues_count":23,"forks_count":19,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-04-13T19:27:06.142Z","etag":null,"topics":["asyncio","homeautomation","insteon","plm","python"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nugget.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-01-02T15:40:45.000Z","updated_at":"2024-09-18T16:08:08.000Z","dependencies_parsed_at":"2022-09-21T16:01:33.398Z","dependency_job_id":null,"html_url":"https://github.com/nugget/python-insteonplm","commit_stats":null,"previous_names":[],"tags_count":48,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nugget%2Fpython-insteonplm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nugget%2Fpython-insteonplm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nugget%2Fpython-insteonplm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nugget%2Fpython-insteonplm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nugget","download_url":"https://codeload.github.com/nugget/python-insteonplm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251311332,"owners_count":21569008,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asyncio","homeautomation","insteon","plm","python"],"created_at":"2025-01-24T05:14:37.979Z","updated_at":"2025-04-28T12:01:38.945Z","avatar_url":"https://github.com/nugget.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"insteonplm\n==========\n\n|Build Status| |GitHub release| |PyPI|\n\nThis is a Python package to interface with an Insteon Modem. It has been\ntested to work with most USB or RS-232 serial based devices such as the\n`2413U \u003chttps://www.insteon.com/powerlinc-modem-usb\u003e`__,\n`2412S \u003chttps://www.insteon.com/powerlinc-modem-serial\u003e`__,\n`2448A7 \u003chttp://www.insteon.com/usb-wireless-adapter\u003e`__ and Hub models\n`2242 \u003chttps://www.insteon.com/support-knowledgebase/2014/9/26/insteon-hub-owners-manual\u003e`__\nand `2245 \u003chttps://www.insteon.com/insteon-hub/\u003e`__. Other models have\nnot been tested but the underlying protocol has not changed much over\ntime so it would not be surprising if it worked with a number of other\nmodels. If you find success with something, please let us know.\n\nThis **insteonplm** package was created primarily to support an INSTEON\nplatform for the `Home Assistant \u003chttps://home-assistant.io/\u003e`__\nautomation platform but it is structured to be general-purpose and\nshould be usable for other applications as well.\n\nRequirements\n------------\n\n-  Python 3.5.3 or higher, 3.6 or 3.7\n-  Posix or Windows based system\n-  Some form of Insteon PLM or Hub\n-  At least one Insteon device\n\nInstallation\n------------\n\nYou can, of course, just install the most recent release of this package\nusing ``pip``. This will download the more recent version from\n`PyPI \u003chttps://pypi.python.org/pypi/insteonplm\u003e`__ and install it to\nyour host.\n\n::\n\n    pip install insteonplm\n\nIf you want to grab the the development code, you can also clone this\ngit repository and install from local sources:\n\n::\n\n    cd python-insteonplm\n    pip install .\n\nAnd, as you probably expect, you can live the developer's life by\nworking with the live repo and edit to your heart's content:\n\n::\n\n    cd python-insteonplm\n    pip install -e .\n\nDevice Permissions\n^^^^^^^^^^^^^^^^^^\n\nAny user account that you want to be able to access the PLM will need\npermissions to access the USB or Serial device in ``/dev``. In Linux,\nyou'll probably want to do something like this:\n\n::\n\n    sudo usermod -a -G dialout \u003cusername\u003e\n\nIn FreeBSD, it'll be something like:\n\n::\n\n    sudo pw usermod \u003cusername\u003e -G dialer\n\nYou may find that you have to log out and log back in as that user for\nthe change to take effect on existing sessions.\n\nFirst Start\n^^^^^^^^^^^\n\nWhen the module starts it reads the IM's All-Link Database to find\nlinked devices. In order for this module to communicate with a device,\nit must be linked to the IM. For help with linking please see the\nsection on the `Command Line Interface` below.\n\nAfter the module loads the All-Link database it queries each device to\nidentify what type of device it is. This can take quite a while (5-15\nsec per device). Once it identifies the devices it saves them in the\n``WORKDIR`` so that future startups are faster.\n\nCurrently there is an issue with the command line `Tools` not\nfinding battery operated devices since they don't respond to device\ninformation requests. This is being addressed in future releases. This\nis not an issue if used with `Home\nAssistant \u003chttps://home-assistant.io/\u003e`__ through the use of device\noverrides.\n\nTools\n-----\n\nThe package installs a message monitor and a command line interface.\n\nMessage Monitoring\n^^^^^^^^^^^^^^^^^^\n\nYou can monitor messages flowing across your INSTEON network with the\nmonitor command line tool. To invoke the monitor use the command:\n\n::\n\n    insteonplm_monitor --device /dev/ttyUSB0 --workdir /home/username\n\nCommand line options for the monitor are:\n\n::\n\n    -h, --help         show this help message and exit\n    --device DEVICE    Path to PLM device\n    --verbose, -v      Set logging level to verbose\n    --workdir WORKDIR  Working directory for reading and saving device\n                       information.\n\nCommand Line Interface\n^^^^^^^^^^^^^^^^^^^^^^\n\nThe command line tool creates an interactive session to allow certain\nfunctions to be performed on the INSTEON devices. To invoke the command\nline tool use the command:\n\n::\n\n    `insteonplm_interactive --device /dev/ttyUSB0 --workdir /home/username`\n\nCommand line options for the interactive tool are:\n\n::\n\n    -h, --help        show this help message and exit\n    --device DEVICE   Path to PLM device\n    -v, --verbose     Set logging level to verbose\n    --workdir WORKDIR  Working directory for reading and saving device\n                      information.\n\nInside the command line tool use ``help`` to obtain a list of available\ncommands. The current list of available commands is:\n\n::\n\n     -  add_all_link        Add an All-Link record to the IM and a device.\n     -  add_device_override Add a device override to the IM.\n     -  add_x10_device      Add an X10 device to the IM\n     -  connect             Connect to the IM\n     -  del_all_link        Delete an all link record from the IM and a device\n     -  exit                Exit the tool\n     -  help                List available commands\n     -  list_devices        Print a list of the available devices\n     -  load_aldb           Read and load a device All-Link database\n     -  on_off_test         Test a device with simple on/off commands\n     -  print_aldb          Print the All-Link database for a device\n     -  running_tasks       List tasks running in the background\n     -  set_device          Set the IM device path\n     -  set_log_level       Set the log message display level\n     -  set_workdir         Set the WORKDIR to load and save device info\n     -  write_aldb          Write a record to the device All-Link database\n                                !!!! BE CAREFUL WITH THIS COMMAND !!!!!\n\nFor help with a specific command type ``help command_name``.\n\nKnown Issues\n------------\n\n-  The\n   `documentation \u003chttps://github.com/nugget/python-insteonplm/wiki\u003e`__\n   is limited.\n-  Other issues are located in our\n   `issues \u003chttps://github.com/nugget/python-insteonplm/issues\u003e`__ list\n   on GitHub.\n\nHow You Can Help\n----------------\n\nDevelopment\n^^^^^^^^^^^\n\n-  First and foremost, you can help by forking this project and coding.\n   Features, bug fixes, documentation, and sample code will all add\n   tremendously to the quality of this project.\n\n-  If you have a feature you'd love to see added to the project but you\n   don't think that you're able to do the work, I'm someone is probably\n   happy to perform the directed development in the form of a bug or\n   feature bounty.\n\nTesting, Feature Requests and Issue Identification\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n-  If you're anxious for a feature but it's not actually worth money to\n   you, please open an issue here on Github describing the problem or\n   limitation. If you never ask, it'll never happen\n\nDocumentation\n^^^^^^^^^^^^^\n\nPlease see our\n`Wiki \u003chttps://github.com/nugget/python-insteonplm/wiki\u003e`__ section for\ndocumentation. This documentation is limited. If you would like to drive\nthis effort please send a resume and a list of references to...\nHonestly, we will take anyone.\n\nPLEASE help. An\n`issue \u003chttps://github.com/nugget/python-insteonplm/issues/23\u003e`__ has\nbeen opened so just post your interest there.\n\nCredits\n-------\n\n-  This package was written by David McNett.\n-  https://github.com/nugget\n-  https://keybase.io/nugget\n\n-  Significant updates were provided by Tom Harris\n-  https://github.com/teharris1\n\n-  Many thanks to `Ryan Stanley \u003chttps://github.com/rstanley75\u003e`__ for\n   his invaluable help with debugging and development.\n\nInteresting Links\n-----------------\n\n-  `Project Home \u003chttps://github.com/nugget/python-insteonplm\u003e`__\n-  `Why Nikola Tesla was the greatest geek who ever\n   lived \u003chttp://theoatmeal.com/comics/tesla\u003e`__\n\n.. |Build Status| image:: https://travis-ci.org/nugget/python-insteonplm.svg?branch=master\n   :target: https://travis-ci.org/nugget/python-insteonplm\n.. |GitHub release| image:: https://img.shields.io/github/release/nugget/python-insteonplm.svg\n   :target: https://github.com/nugget/python-insteonplm/releases\n.. |PyPI| image:: https://img.shields.io/pypi/v/insteonplm.svg\n   :target: https://pypi.python.org/pypi/insteonplm\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnugget%2Fpython-insteonplm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnugget%2Fpython-insteonplm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnugget%2Fpython-insteonplm/lists"}