{"action":"opened","number":116,"pull_request":{"url":"https://api.github.com/repos/JoelBender/bacpypes/pulls/116","id":112361488,"html_url":"https://github.com/JoelBender/bacpypes/pull/116","diff_url":"https://github.com/JoelBender/bacpypes/pull/116.diff","patch_url":"https://github.com/JoelBender/bacpypes/pull/116.patch","issue_url":"https://api.github.com/repos/JoelBender/bacpypes/issues/116","number":116,"state":"open","locked":false,"title":"developing with bacpypes?","user":{"login":"kjlockhart","id":1316347,"avatar_url":"https://avatars0.githubusercontent.com/u/1316347?v=3","gravatar_id":"","url":"https://api.github.com/users/kjlockhart","html_url":"https://github.com/kjlockhart","followers_url":"https://api.github.com/users/kjlockhart/followers","following_url":"https://api.github.com/users/kjlockhart/following{/other_user}","gists_url":"https://api.github.com/users/kjlockhart/gists{/gist_id}","starred_url":"https://api.github.com/users/kjlockhart/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kjlockhart/subscriptions","organizations_url":"https://api.github.com/users/kjlockhart/orgs","repos_url":"https://api.github.com/users/kjlockhart/repos","events_url":"https://api.github.com/users/kjlockhart/events{/privacy}","received_events_url":"https://api.github.com/users/kjlockhart/received_events","type":"User","site_admin":false},"body":"First, sorry if this is not the best way to reach you regarding your Github project 'bacpypes'.  Please advise me with your preferred method.\r\n[BTW: Where must be a way to 'contact author' via Github but I couldn't find it.]\r\n\r\nMy questions:\r\n\r\nI am trying to develop several BACnet client applications.  One will discover the analog & binary I/O objects on a set of BACnet controllers and periodically poll for their presentValues.  The second will discover the Trend_Log objects on a set of BACnet controllers and periodically read the trend contents (via ReadRange).\r\n\r\nI have worked through all the samples,tutorials, and documentation.  But apparently several fundamental concepts are eluding me.  The samples are all async event-driven programs that expect user input via the CmdConsole.  They all derive from BIPSimpleApplication.  I see bacpypes.app also contains classes: Application, ApplicationIOController, BIPForeignApplication, BIPNetworkApplication, plus a DeviceInfoCache.  I can find no documentation on any of the these or when they should be used, or for what purpose.\r\n\r\nI am trying to get started - with a very simple goal in mind.  But I am at a complete loss how to get started; how to interface with bacpypes in the simplest, most direct manner.\r\n\r\nI want to write a program that:\r\n- needs no user input.\r\n- uses bacpypes to read object and trend data from a set of (known, or discoverable) controllers.\r\n- acts as a BACnet client-only.  \r\n- No BACnet devices will ask it for information.  It provides no BACnet server functionality.\r\n- runs periodically, in a stand-alone automated fashion.  i.e. it is a batch process started via cron.\r\n- doesn't need threads.  \r\n- ideally it will startup, read a list of object references from a local file, will loop through the references making ReadPropertyMultiple & ReadRange requests, parse the responses, save the results, and exit.  [no fuss, no muss, no complex stuff. 😊]\r\n\r\nWhere could I find a similar client-only program to use as a starting point?\r\n\r\nThanks.\r\n","created_at":"2017-03-23T23:43:32Z","updated_at":"2017-03-23T23:43:32Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/JoelBender/bacpypes/pulls/116/commits","review_comments_url":"https://api.github.com/repos/JoelBender/bacpypes/pulls/116/comments","review_comment_url":"https://api.github.com/repos/JoelBender/bacpypes/pulls/comments{/number}","comments_url":"https://api.github.com/repos/JoelBender/bacpypes/issues/116/comments","statuses_url":"https://api.github.com/repos/JoelBender/bacpypes/statuses/aaaa918782fe345a7fa04e1f6cc293d276334aa9","head":{"label":"kjlockhart:master","ref":"master","sha":"aaaa918782fe345a7fa04e1f6cc293d276334aa9","user":{"login":"kjlockhart","id":1316347,"avatar_url":"https://avatars0.githubusercontent.com/u/1316347?v=3","gravatar_id":"","url":"https://api.github.com/users/kjlockhart","html_url":"https://github.com/kjlockhart","followers_url":"https://api.github.com/users/kjlockhart/followers","following_url":"https://api.github.com/users/kjlockhart/following{/other_user}","gists_url":"https://api.github.com/users/kjlockhart/gists{/gist_id}","starred_url":"https://api.github.com/users/kjlockhart/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kjlockhart/subscriptions","organizations_url":"https://api.github.com/users/kjlockhart/orgs","repos_url":"https://api.github.com/users/kjlockhart/repos","events_url":"https://api.github.com/users/kjlockhart/events{/privacy}","received_events_url":"https://api.github.com/users/kjlockhart/received_events","type":"User","site_admin":false},"repo":{"id":68419076,"name":"bacpypes","full_name":"kjlockhart/bacpypes","owner":{"login":"kjlockhart","id":1316347,"avatar_url":"https://avatars0.githubusercontent.com/u/1316347?v=3","gravatar_id":"","url":"https://api.github.com/users/kjlockhart","html_url":"https://github.com/kjlockhart","followers_url":"https://api.github.com/users/kjlockhart/followers","following_url":"https://api.github.com/users/kjlockhart/following{/other_user}","gists_url":"https://api.github.com/users/kjlockhart/gists{/gist_id}","starred_url":"https://api.github.com/users/kjlockhart/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kjlockhart/subscriptions","organizations_url":"https://api.github.com/users/kjlockhart/orgs","repos_url":"https://api.github.com/users/kjlockhart/repos","events_url":"https://api.github.com/users/kjlockhart/events{/privacy}","received_events_url":"https://api.github.com/users/kjlockhart/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/kjlockhart/bacpypes","description":"BACpypes provides a BACnet application layer and network layer written in Python for daemons, scripting, and graphical interfaces.","fork":true,"url":"https://api.github.com/repos/kjlockhart/bacpypes","forks_url":"https://api.github.com/repos/kjlockhart/bacpypes/forks","keys_url":"https://api.github.com/repos/kjlockhart/bacpypes/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kjlockhart/bacpypes/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kjlockhart/bacpypes/teams","hooks_url":"https://api.github.com/repos/kjlockhart/bacpypes/hooks","issue_events_url":"https://api.github.com/repos/kjlockhart/bacpypes/issues/events{/number}","events_url":"https://api.github.com/repos/kjlockhart/bacpypes/events","assignees_url":"https://api.github.com/repos/kjlockhart/bacpypes/assignees{/user}","branches_url":"https://api.github.com/repos/kjlockhart/bacpypes/branches{/branch}","tags_url":"https://api.github.com/repos/kjlockhart/bacpypes/tags","blobs_url":"https://api.github.com/repos/kjlockhart/bacpypes/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kjlockhart/bacpypes/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kjlockhart/bacpypes/git/refs{/sha}","trees_url":"https://api.github.com/repos/kjlockhart/bacpypes/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kjlockhart/bacpypes/statuses/{sha}","languages_url":"https://api.github.com/repos/kjlockhart/bacpypes/languages","stargazers_url":"https://api.github.com/repos/kjlockhart/bacpypes/stargazers","contributors_url":"https://api.github.com/repos/kjlockhart/bacpypes/contributors","subscribers_url":"https://api.github.com/repos/kjlockhart/bacpypes/subscribers","subscription_url":"https://api.github.com/repos/kjlockhart/bacpypes/subscription","commits_url":"https://api.github.com/repos/kjlockhart/bacpypes/commits{/sha}","git_commits_url":"https://api.github.com/repos/kjlockhart/bacpypes/git/commits{/sha}","comments_url":"https://api.github.com/repos/kjlockhart/bacpypes/comments{/number}","issue_comment_url":"https://api.github.com/repos/kjlockhart/bacpypes/issues/comments{/number}","contents_url":"https://api.github.com/repos/kjlockhart/bacpypes/contents/{+path}","compare_url":"https://api.github.com/repos/kjlockhart/bacpypes/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kjlockhart/bacpypes/merges","archive_url":"https://api.github.com/repos/kjlockhart/bacpypes/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kjlockhart/bacpypes/downloads","issues_url":"https://api.github.com/repos/kjlockhart/bacpypes/issues{/number}","pulls_url":"https://api.github.com/repos/kjlockhart/bacpypes/pulls{/number}","milestones_url":"https://api.github.com/repos/kjlockhart/bacpypes/milestones{/number}","notifications_url":"https://api.github.com/repos/kjlockhart/bacpypes/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kjlockhart/bacpypes/labels{/name}","releases_url":"https://api.github.com/repos/kjlockhart/bacpypes/releases{/id}","deployments_url":"https://api.github.com/repos/kjlockhart/bacpypes/deployments","created_at":"2016-09-16T22:37:54Z","updated_at":"2016-09-16T22:37:56Z","pushed_at":"2017-03-13T20:44:59Z","git_url":"git://github.com/kjlockhart/bacpypes.git","ssh_url":"git@github.com:kjlockhart/bacpypes.git","clone_url":"https://github.com/kjlockhart/bacpypes.git","svn_url":"https://github.com/kjlockhart/bacpypes","homepage":null,"size":1024,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"JoelBender:master","ref":"master","sha":"6b93f606eec33cd560e514bd07dd5c44d90f2de4","user":{"login":"JoelBender","id":10273490,"avatar_url":"https://avatars0.githubusercontent.com/u/10273490?v=3","gravatar_id":"","url":"https://api.github.com/users/JoelBender","html_url":"https://github.com/JoelBender","followers_url":"https://api.github.com/users/JoelBender/followers","following_url":"https://api.github.com/users/JoelBender/following{/other_user}","gists_url":"https://api.github.com/users/JoelBender/gists{/gist_id}","starred_url":"https://api.github.com/users/JoelBender/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JoelBender/subscriptions","organizations_url":"https://api.github.com/users/JoelBender/orgs","repos_url":"https://api.github.com/users/JoelBender/repos","events_url":"https://api.github.com/users/JoelBender/events{/privacy}","received_events_url":"https://api.github.com/users/JoelBender/received_events","type":"User","site_admin":false},"repo":{"id":39159799,"name":"bacpypes","full_name":"JoelBender/bacpypes","owner":{"login":"JoelBender","id":10273490,"avatar_url":"https://avatars0.githubusercontent.com/u/10273490?v=3","gravatar_id":"","url":"https://api.github.com/users/JoelBender","html_url":"https://github.com/JoelBender","followers_url":"https://api.github.com/users/JoelBender/followers","following_url":"https://api.github.com/users/JoelBender/following{/other_user}","gists_url":"https://api.github.com/users/JoelBender/gists{/gist_id}","starred_url":"https://api.github.com/users/JoelBender/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JoelBender/subscriptions","organizations_url":"https://api.github.com/users/JoelBender/orgs","repos_url":"https://api.github.com/users/JoelBender/repos","events_url":"https://api.github.com/users/JoelBender/events{/privacy}","received_events_url":"https://api.github.com/users/JoelBender/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/JoelBender/bacpypes","description":"BACpypes provides a BACnet application layer and network layer written in Python for daemons, scripting, and graphical interfaces.","fork":false,"url":"https://api.github.com/repos/JoelBender/bacpypes","forks_url":"https://api.github.com/repos/JoelBender/bacpypes/forks","keys_url":"https://api.github.com/repos/JoelBender/bacpypes/keys{/key_id}","collaborators_url":"https://api.github.com/repos/JoelBender/bacpypes/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/JoelBender/bacpypes/teams","hooks_url":"https://api.github.com/repos/JoelBender/bacpypes/hooks","issue_events_url":"https://api.github.com/repos/JoelBender/bacpypes/issues/events{/number}","events_url":"https://api.github.com/repos/JoelBender/bacpypes/events","assignees_url":"https://api.github.com/repos/JoelBender/bacpypes/assignees{/user}","branches_url":"https://api.github.com/repos/JoelBender/bacpypes/branches{/branch}","tags_url":"https://api.github.com/repos/JoelBender/bacpypes/tags","blobs_url":"https://api.github.com/repos/JoelBender/bacpypes/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/JoelBender/bacpypes/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/JoelBender/bacpypes/git/refs{/sha}","trees_url":"https://api.github.com/repos/JoelBender/bacpypes/git/trees{/sha}","statuses_url":"https://api.github.com/repos/JoelBender/bacpypes/statuses/{sha}","languages_url":"https://api.github.com/repos/JoelBender/bacpypes/languages","stargazers_url":"https://api.github.com/repos/JoelBender/bacpypes/stargazers","contributors_url":"https://api.github.com/repos/JoelBender/bacpypes/contributors","subscribers_url":"https://api.github.com/repos/JoelBender/bacpypes/subscribers","subscription_url":"https://api.github.com/repos/JoelBender/bacpypes/subscription","commits_url":"https://api.github.com/repos/JoelBender/bacpypes/commits{/sha}","git_commits_url":"https://api.github.com/repos/JoelBender/bacpypes/git/commits{/sha}","comments_url":"https://api.github.com/repos/JoelBender/bacpypes/comments{/number}","issue_comment_url":"https://api.github.com/repos/JoelBender/bacpypes/issues/comments{/number}","contents_url":"https://api.github.com/repos/JoelBender/bacpypes/contents/{+path}","compare_url":"https://api.github.com/repos/JoelBender/bacpypes/compare/{base}...{head}","merges_url":"https://api.github.com/repos/JoelBender/bacpypes/merges","archive_url":"https://api.github.com/repos/JoelBender/bacpypes/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/JoelBender/bacpypes/downloads","issues_url":"https://api.github.com/repos/JoelBender/bacpypes/issues{/number}","pulls_url":"https://api.github.com/repos/JoelBender/bacpypes/pulls{/number}","milestones_url":"https://api.github.com/repos/JoelBender/bacpypes/milestones{/number}","notifications_url":"https://api.github.com/repos/JoelBender/bacpypes/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/JoelBender/bacpypes/labels{/name}","releases_url":"https://api.github.com/repos/JoelBender/bacpypes/releases{/id}","deployments_url":"https://api.github.com/repos/JoelBender/bacpypes/deployments","created_at":"2015-07-15T20:33:51Z","updated_at":"2017-03-20T22:01:43Z","pushed_at":"2017-03-23T19:38:08Z","git_url":"git://github.com/JoelBender/bacpypes.git","ssh_url":"git@github.com:JoelBender/bacpypes.git","clone_url":"https://github.com/JoelBender/bacpypes.git","svn_url":"https://github.com/JoelBender/bacpypes","homepage":null,"size":1058,"stargazers_count":43,"watchers_count":43,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":17,"mirror_url":null,"open_issues_count":46,"forks":17,"open_issues":46,"watchers":43,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/JoelBender/bacpypes/pulls/116"},"html":{"href":"https://github.com/JoelBender/bacpypes/pull/116"},"issue":{"href":"https://api.github.com/repos/JoelBender/bacpypes/issues/116"},"comments":{"href":"https://api.github.com/repos/JoelBender/bacpypes/issues/116/comments"},"review_comments":{"href":"https://api.github.com/repos/JoelBender/bacpypes/pulls/116/comments"},"review_comment":{"href":"https://api.github.com/repos/JoelBender/bacpypes/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/JoelBender/bacpypes/pulls/116/commits"},"statuses":{"href":"https://api.github.com/repos/JoelBender/bacpypes/statuses/aaaa918782fe345a7fa04e1f6cc293d276334aa9"}},"merged":false,"mergeable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":true,"commits":1,"additions":0,"deletions":0,"changed_files":0}}
{"actor":{"display_login":"kjlockhart"}}