Skip to content

Commit

Permalink
Working on doc
Browse files Browse the repository at this point in the history
  • Loading branch information
ChristianTremblay committed Sep 9, 2024
1 parent aedd8d8 commit dbae43d
Show file tree
Hide file tree
Showing 10 changed files with 42 additions and 195 deletions.
2 changes: 1 addition & 1 deletion BAC0/infos.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,5 @@
__email__ = "[email protected]"
__url__ = "https://github.com/ChristianTremblay/BAC0"
__download_url__ = "https://github.com/ChristianTremblay/BAC0/archive/master.zip"
__version__ = "2024"
__version__ = "2024.09.08"
__license__ = "LGPLv3"
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# BAC0 ![Build status](https://github.com/ChristianTremblay/BAC0/workflows/Build%20&%20Test/badge.svg?branch=master) ![Coverage](https://coveralls.io/repos/github/ChristianTremblay/BAC0/badge.svg?branch=master) ![Documentation](https://readthedocs.org/projects/bac0/badge/?version=latest)
# BAC0 ![Build status](https://github.com/ChristianTremblay/BAC0/workflows/Build%20&%20Test/badge.svg?branch=main) ![Coverage](https://coveralls.io/repos/github/ChristianTremblay/BAC0/badge.svg?branch=main) ![Documentation](https://readthedocs.org/projects/bac0/badge/?version=latest)

[![Join the chat at https://gitter.im/ChristianTremblay/BAC0](https://badges.gitter.im/ChristianTremblay/BAC0.svg)](https://gitter.im/ChristianTremblay/BAC0?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

Expand Down
70 changes: 17 additions & 53 deletions doc/README.rst
Original file line number Diff line number Diff line change
@@ -1,64 +1,28 @@
BAC0 |build-status| |coverage| |docs|
=====================================
BAC0
====

.. image:: https://github.com/ChristianTremblay/BAC0/workflows/Build%20&%20Test/badge.svg?branch=master
:alt: Build status
.. image:: https://coveralls.io/repos/github/ChristianTremblay/BAC0/badge.svg?branch=master
:alt: Coverage
.. image:: https://readthedocs.org/projects/bac0/badge/?version=latest
:alt: Documentation

.. image:: https://badges.gitter.im/ChristianTremblay/BAC0.svg
:alt: Join the chat at https://gitter.im/ChristianTremblay/BAC0
:target: https://gitter.im/ChristianTremblay/BAC0?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
:target: https://gitter.im/ChristianTremblay/BAC0?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
:alt: Join the chat at https://gitter.im/ChristianTremblay/BAC0

BAC0 is a Python 3 (3.5 and over) scripting application that uses BACpypes_ to process BACnet messages on a IP network.
This library brings out simple commands to browse a BACnet network, read properties from BACnet devices or write to them.
BAC0 is an asynchronous Python 3 (3.10 and over) scripting application that uses `BACpypes3 <https://github.com/JoelBender/BACpypes3>`_ to process BACnet™ messages on an IP network. This library brings out simple commands to browse a BACnet network, read properties from BACnet devices, or write to them.

Python is a simple language to learn and a very powerful tool for data processing. Coupled to BACnet, it becomes a great
tool to test devices an interact with controllers.
Python is a simple language to learn and a very powerful tool for data processing. Coupled with BACnet, it becomes a great tool to test devices and interact with controllers.

BAC0 takes its name from the default IP port used by BACnet/IP communication which is port 47808. In hexadecimal, it's written 0xBAC0.

Web features included
=====================
BAC0 includes a local web page that will help the user providing basic informations about the netwok seen by the script and also provide a simple interface to historical trends. Flask is used to render the web page and a Bokeh server is also provided to serve live trends to the user.

Test driven development (TDD) for DDC controls
==============================================
BAC0 is made for building automation system (BAS) programmers. Controllers used in this field are commonly called DDC Controllers (Direct Digital Control).

Typical controllers can be programmed in different ways, depending on the manufacturer selling them (block programming, basic "kinda" scripts, C code, etc...).
BAC0, is a unified way, using Python language and BACnet/IP communication, to interact with those controllers once their sequence is built.

BAC0 allows users to simply test an application even if sensors are not connected to the controller. Using the out_of_service
property, it's easy to write a value to the input so the controller will think an input is conencted.

It's also possible to do "manual commands" on output (often called overrides). In fact, every variable is exposed and seen by BAC0 and
it's possible to interact with them using a simple scripting language or a complete unit test suite (like Pytest).
----------------------------------------------

Without a program like BAC0, you can rely on your DDC programming tool... but it is often slow and
every test must be done manually. That means also that if you want to repeat the tests, the more complicated they are, the less chance you'll be able to do so.

Now you can write your test and run them as often as you want. We'll show you how it works.

Better start-up with data acquisition
=====================================
As you will discover, when you define a controller in BAC0, you will get access to historical data of
every variables in the controllers. Every points are trended every 10 seconds by default. Which means
that you can do data analysis on everything while you're doing your startup. It allows to see performances and
trouble really fast.

This make BAC0 not only a good tool to test your sequence while your in the office.
But also a really good tool to assist your startup, test and balancing. Using Jupyter Notebook, you'll
even be able to create nice looking report right from your code.


.. |build-status| image:: https://github.com/ChristianTremblay/BAC0/.github/workflows/test/badge.svg?branch=master
:target: https://github.com/ChristianTremblay/BAC0/actions
:alt: Build status

.. |docs| image:: https://readthedocs.org/projects/bac0/badge/?version=latest
:target: http://bac0.readthedocs.org/
:alt: Documentation

.. |coverage| image:: https://coveralls.io/repos/github/ChristianTremblay/BAC0/badge.svg?branch=master
:target: https://coveralls.io/github/ChristianTremblay/BAC0?branch=master
:alt: Coverage
BAC0 is made for building automation system (BAS) programmers. Controllers used in this field are commonly called DDC Controllers (Direct Digital Control).

.. _bacpypes : https://github.com/JoelBender/bacpypes
Typical controllers can be programmed in different ways, depending on the manufacturer selling them (block programming, basic "kinda" scripts, C code, etc...). BAC0 is a unified way, using Python language and BACnet/IP communication, to interact with those controllers once their sequence is built.

.. _bokeh : http://www.bokehplots.com
BAC0 allows users to simply test an application even if sensors are not connected to the controller. Using the out_of_service property, it's easy to write a value to the input so the controller will think an input is connected.
4 changes: 2 additions & 2 deletions doc/source/BAC0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ Subpackages
:maxdepth: 7

BAC0.core
BAC0.db
BAC0.scripts
BAC0.sql
BAC0.tasks
BAC0.web
BAC0.tools

Submodules
----------
Expand Down
8 changes: 0 additions & 8 deletions doc/source/BAC0.scripts.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,6 @@ BAC0.scripts.Base module
:undoc-members:
:show-inheritance:

BAC0.scripts.Complete module
----------------------------

.. automodule:: BAC0.scripts.Complete
:members:
:undoc-members:
:show-inheritance:

BAC0.scripts.Lite module
------------------------

Expand Down
21 changes: 0 additions & 21 deletions doc/source/BAC0.sql.rst

This file was deleted.

45 changes: 0 additions & 45 deletions doc/source/BAC0.web.rst

This file was deleted.

70 changes: 17 additions & 53 deletions doc/source/README.rst
Original file line number Diff line number Diff line change
@@ -1,64 +1,28 @@
BAC0 |build-status| |coverage| |docs|
=====================================
BAC0
====

.. image:: https://github.com/ChristianTremblay/BAC0/workflows/Build%20&%20Test/badge.svg?branch=main
:alt: Build status
.. image:: https://coveralls.io/repos/github/ChristianTremblay/BAC0/badge.svg?branch=main
:alt: Coverage
.. image:: https://readthedocs.org/projects/bac0/badge/?version=latest
:alt: Documentation

.. image:: https://badges.gitter.im/ChristianTremblay/BAC0.svg
:alt: Join the chat at https://gitter.im/ChristianTremblay/BAC0
:target: https://gitter.im/ChristianTremblay/BAC0?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
:target: https://gitter.im/ChristianTremblay/BAC0?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
:alt: Join the chat at https://gitter.im/ChristianTremblay/BAC0

BAC0 is a Python 3 (3.5 and over) scripting application that uses BACpypes_ to process BACnet messages on a IP network.
This library brings out simple commands to browse a BACnet network, read properties from BACnet devices or write to them.
BAC0 is an asynchronous Python 3 (3.10 and over) scripting application that uses `BACpypes3 <https://github.com/JoelBender/BACpypes3>`_ to process BACnet™ messages on an IP network. This library brings out simple commands to browse a BACnet network, read properties from BACnet devices, or write to them.

Python is a simple language to learn and a very powerful tool for data processing. Coupled to BACnet, it becomes a great
tool to test devices an interact with controllers.
Python is a simple language to learn and a very powerful tool for data processing. Coupled with BACnet, it becomes a great tool to test devices and interact with controllers.

BAC0 takes its name from the default IP port used by BACnet/IP communication which is port 47808. In hexadecimal, it's written 0xBAC0.

Web features included
=====================
BAC0 includes a local web page that will help the user providing basic informations about the netwok seen by the script and also provide a simple interface to historical trends. Flask is used to render the web page and a Bokeh server is also provided to serve live trends to the user.

Test driven development (TDD) for DDC controls
==============================================
BAC0 is made for building automation system (BAS) programmers. Controllers used in this field are commonly called DDC Controllers (Direct Digital Control).

Typical controllers can be programmed in different ways, depending on the manufacturer selling them (block programming, basic "kinda" scripts, C code, etc...).
BAC0, is a unified way, using Python language and BACnet/IP communication, to interact with those controllers once their sequence is built.

BAC0 allows users to simply test an application even if sensors are not connected to the controller. Using the out_of_service
property, it's easy to write a value to the input so the controller will think an input is conencted.

It's also possible to do "manual commands" on output (often called overrides). In fact, every variable is exposed and seen by BAC0 and
it's possible to interact with them using a simple scripting language or a complete unit test suite (like Pytest).
----------------------------------------------

Without a program like BAC0, you can rely on your DDC programming tool... but it is often slow and
every test must be done manually. That means also that if you want to repeat the tests, the more complicated they are, the less chance you'll be able to do so.

Now you can write your test and run them as often as you want. We'll show you how it works.

Better start-up with data acquisition
=====================================
As you will discover, when you define a controller in BAC0, you will get access to historical data of
every variables in the controllers. Every points are trended every 10 seconds by default. Which means
that you can do data analysis on everything while you're doing your startup. It allows to see performances and
trouble really fast.

This make BAC0 not only a good tool to test your sequence while your in the office.
But also a really good tool to assist your startup, test and balancing. Using Jupyter Notebook, you'll
even be able to create nice looking report right from your code.


.. |build-status| image:: https://travis-ci.org/ChristianTremblay/BAC0.svg?branch=master
:target: https://travis-ci.org/ChristianTremblay/BAC0
:alt: Build status

.. |docs| image:: https://readthedocs.org/projects/bac0/badge/?version=latest
:target: http://bac0.readthedocs.org/
:alt: Documentation

.. |coverage| image:: https://coveralls.io/repos/github/ChristianTremblay/BAC0/badge.svg?branch=master
:target: https://coveralls.io/github/ChristianTremblay/BAC0?branch=master
:alt: Coverage
BAC0 is made for building automation system (BAS) programmers. Controllers used in this field are commonly called DDC Controllers (Direct Digital Control).

.. _bacpypes : https://github.com/JoelBender/bacpypes
Typical controllers can be programmed in different ways, depending on the manufacturer selling them (block programming, basic "kinda" scripts, C code, etc...). BAC0 is a unified way, using Python language and BACnet/IP communication, to interact with those controllers once their sequence is built.

.. _bokeh : http://www.bokehplots.com
BAC0 allows users to simply test an application even if sensors are not connected to the controller. Using the out_of_service property, it's easy to write a value to the input so the controller will think an input is connected.
8 changes: 4 additions & 4 deletions doc/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@
# The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string:
# source_suffix = ['.rst', '.md']
source_suffix = ".rst"
source_suffix = {".rst": "restructuredtext"}

# The encoding of source files.
# source_encoding = 'utf-8-sig'
Expand All @@ -83,7 +83,7 @@
#
# This is also used if you do content translation via gettext catalogs.
# Usually you set "language" from the command line for these cases.
language = None
language = "en"

# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
Expand Down Expand Up @@ -156,7 +156,7 @@
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ["_static"]
# html_static_path = ["_static"]

# Add any extra paths that contain custom files (such as robots.txt or
# .htaccess) here, relative to this directory. These files are copied
Expand Down Expand Up @@ -379,4 +379,4 @@


# Example configuration for intersphinx: refer to the Python standard library.
intersphinx_mapping = {"https://docs.python.org/": None}
# intersphinx_mapping = {"https://docs.python.org/": None}
7 changes: 0 additions & 7 deletions doc/source/setup.rst

This file was deleted.

0 comments on commit dbae43d

Please sign in to comment.