pydiagral 1.3.7b4__tar.gz → 1.5.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pydiagral-1.5.0/.github/ISSUE_TEMPLATE/bug_report.yml +101 -0
- pydiagral-1.5.0/.github/ISSUE_TEMPLATE/feature_request.yml +64 -0
- pydiagral-1.5.0/.github/copilot-commit-message-instructions.md +25 -0
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/.github/workflows/release_and_doc.yaml +2 -2
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/.releaserc +0 -1
- pydiagral-1.5.0/.vscode/settings.json +12 -0
- pydiagral-1.5.0/CHANGELOG.md +63 -0
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/PKG-INFO +62 -20
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/README.md +60 -18
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/docs/index.md +6 -0
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/docs/models.md +1 -0
- pydiagral-1.5.0/example_code.py +255 -0
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/pyproject.toml +1 -1
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/src/pydiagral/api.py +145 -71
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/src/pydiagral/exceptions.py +10 -2
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/src/pydiagral/models.py +25 -1
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/src/pydiagral/utils.py +1 -1
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/tests/test_pydiagral_api.py +21 -16
- pydiagral-1.3.7b4/.vscode/settings.json +0 -7
- pydiagral-1.3.7b4/CHANGELOG.md +0 -132
- pydiagral-1.3.7b4/example_code.py +0 -174
- pydiagral-1.3.7b4/test.txt +0 -1
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/.devcontainer/Dockerfile.dev +0 -0
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/.devcontainer/devcontainer.json +0 -0
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/.github/FUNDING.yml +0 -0
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/.github/dependabot.yml +0 -0
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/.github/labels.yml +0 -0
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/.github/workflows/labeler.yml +0 -0
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/.github/workflows/lint.yaml +0 -0
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/.github/workflows/lock.yml +0 -0
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/.github/workflows/pytest.yaml +0 -0
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/.github/workflows/semantic-prs.yml +0 -0
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/.gitignore +0 -0
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/.vscode/extensions.json +0 -0
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/LICENSE +0 -0
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/docs/api.md +0 -0
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/docs/exceptions.md +0 -0
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/docs/how-to-find-diagral-serial.png +0 -0
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/docs/pydiagral-Logo.png +0 -0
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/mkdocs.yml +0 -0
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/src/pydiagral/__init__.py +0 -0
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/src/pydiagral/constants.py +0 -0
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/tests/__init__.py +0 -0
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/tests/data/configuration_sample.json +0 -0
- {pydiagral-1.3.7b4 → pydiagral-1.5.0}/tests/data/system_details_sample.json +0 -0
@@ -0,0 +1,101 @@
|
|
1
|
+
---
|
2
|
+
name: "Bug report"
|
3
|
+
description: "Report a bug with the pydiagral package"
|
4
|
+
title: "[Bug]: "
|
5
|
+
labels: [bug]
|
6
|
+
assignees: mguyard
|
7
|
+
body:
|
8
|
+
- type: markdown
|
9
|
+
attributes:
|
10
|
+
value: |
|
11
|
+
> [!NOTE]
|
12
|
+
>
|
13
|
+
> This issue form is for reporting bugs only!
|
14
|
+
>
|
15
|
+
> Before you open a new issue, search through the [existing issues][ei] to see if others have had the same problem.
|
16
|
+
>
|
17
|
+
> [ei]: https://github.com/mguyard/pydiagral/issues?q=label%3Abug
|
18
|
+
|
19
|
+
- type: textarea
|
20
|
+
attributes:
|
21
|
+
label: Reproduction steps
|
22
|
+
description: "Without steps to reproduce, it will be hard to fix, it is very important that you fill out this part, issues without it will be closed"
|
23
|
+
value: |
|
24
|
+
1.
|
25
|
+
2.
|
26
|
+
3.
|
27
|
+
...
|
28
|
+
validations:
|
29
|
+
required: true
|
30
|
+
|
31
|
+
- type: textarea
|
32
|
+
validations:
|
33
|
+
required: true
|
34
|
+
attributes:
|
35
|
+
label: The problem
|
36
|
+
description: >-
|
37
|
+
Describe the issue you are experiencing here, to communicate to the
|
38
|
+
maintainers. Tell us what you were trying to do and what happened.
|
39
|
+
|
40
|
+
Provide a clear and concise description of what the problem is.
|
41
|
+
|
42
|
+
- type: markdown
|
43
|
+
attributes:
|
44
|
+
value: |
|
45
|
+
## Environment
|
46
|
+
|
47
|
+
- type: input
|
48
|
+
id: version
|
49
|
+
validations:
|
50
|
+
required: true
|
51
|
+
attributes:
|
52
|
+
label: What version of pydiagral has the issue?
|
53
|
+
|
54
|
+
- type: input
|
55
|
+
attributes:
|
56
|
+
label: What was the last working version of pydiagral?
|
57
|
+
description: >
|
58
|
+
If known, otherwise leave blank.
|
59
|
+
|
60
|
+
- type: input
|
61
|
+
id: python-version
|
62
|
+
validations:
|
63
|
+
required: true
|
64
|
+
attributes:
|
65
|
+
label: What version of python are you running?
|
66
|
+
|
67
|
+
- type: markdown
|
68
|
+
attributes:
|
69
|
+
value: |
|
70
|
+
## Details
|
71
|
+
|
72
|
+
- type: textarea
|
73
|
+
id: script-log
|
74
|
+
validations:
|
75
|
+
required: true
|
76
|
+
attributes:
|
77
|
+
label: Script Log
|
78
|
+
description: >
|
79
|
+
Copy and paste the relevant parts of the script log here.
|
80
|
+
|
81
|
+
- type: textarea
|
82
|
+
attributes:
|
83
|
+
label: Additional information
|
84
|
+
description: >
|
85
|
+
If you have any additional information for us, use the field below.
|
86
|
+
|
87
|
+
- type: markdown
|
88
|
+
attributes:
|
89
|
+
value: |
|
90
|
+
## Confirmation
|
91
|
+
|
92
|
+
- type: checkboxes
|
93
|
+
attributes:
|
94
|
+
label: Checklist
|
95
|
+
options:
|
96
|
+
- label: I have filled out the issue template to the best of my ability.
|
97
|
+
required: true
|
98
|
+
- label: This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
|
99
|
+
required: true
|
100
|
+
- label: This issue is not a duplicate issue of currently [previous issues](https://github.com/mguyard/pydiagral/issues?q=label%3Abug)..
|
101
|
+
required: true
|
@@ -0,0 +1,64 @@
|
|
1
|
+
---
|
2
|
+
name: "Feature request"
|
3
|
+
description: "Suggest an idea for this project"
|
4
|
+
title: "[Feature Request]: "
|
5
|
+
labels: [feature]
|
6
|
+
assignees: mguyard
|
7
|
+
body:
|
8
|
+
- type: markdown
|
9
|
+
attributes:
|
10
|
+
value: |
|
11
|
+
> [!NOTE]
|
12
|
+
>
|
13
|
+
> This issue form is for reporting Feature Request only!
|
14
|
+
>
|
15
|
+
> Before you open a new feature request, search through the existing [feature requests][fr] to see if others have had the same idea.
|
16
|
+
>
|
17
|
+
> [fr]: https://github.com/mguyard/pydiagral/issues?q=label%3Afeature
|
18
|
+
|
19
|
+
- type: textarea
|
20
|
+
attributes:
|
21
|
+
label: "Is your feature request related to a problem? Please describe."
|
22
|
+
description: "A clear and concise description of what the problem is."
|
23
|
+
placeholder: "I'm always frustrated when [...]"
|
24
|
+
validations:
|
25
|
+
required: true
|
26
|
+
|
27
|
+
- type: textarea
|
28
|
+
attributes:
|
29
|
+
label: "Describe the solution you'd like"
|
30
|
+
description: "A clear and concise description of what you want to happen."
|
31
|
+
validations:
|
32
|
+
required: true
|
33
|
+
|
34
|
+
- type: textarea
|
35
|
+
attributes:
|
36
|
+
label: "Describe alternatives you've considered"
|
37
|
+
description: "A clear and concise description of any alternative solutions or features you've considered."
|
38
|
+
validations:
|
39
|
+
required: true
|
40
|
+
|
41
|
+
- type: textarea
|
42
|
+
attributes:
|
43
|
+
label: "Additional context"
|
44
|
+
description: "Add any other context or screenshots about the feature request here."
|
45
|
+
validations:
|
46
|
+
required: true
|
47
|
+
|
48
|
+
- type: markdown
|
49
|
+
attributes:
|
50
|
+
value: |
|
51
|
+
> [!TIP]
|
52
|
+
>
|
53
|
+
> Keep in mind you can also help the project by contributing to it, if you have the skills to do so, you can open a pull request with the changes you want to see in the project.
|
54
|
+
|
55
|
+
- type: checkboxes
|
56
|
+
attributes:
|
57
|
+
label: Checklist
|
58
|
+
options:
|
59
|
+
- label: I have filled out the template to the best of my ability.
|
60
|
+
required: true
|
61
|
+
- label: This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
|
62
|
+
required: true
|
63
|
+
- label: This issue is not a duplicate feature request of [previous feature requests](https://github.com/mguyard/pydiagral/issues?q=label%3Afeature).
|
64
|
+
required: true
|
@@ -0,0 +1,25 @@
|
|
1
|
+
Follow the Conventional Commits format strictly for commit messages. Use the structure below:
|
2
|
+
|
3
|
+
```
|
4
|
+
<type>[optional scope]: <gitmoji> <description>
|
5
|
+
|
6
|
+
[optional body]
|
7
|
+
```
|
8
|
+
|
9
|
+
Guidelines:
|
10
|
+
|
11
|
+
1. **Type and Scope**: Choose an appropriate type (e.g., `feat`, `fix`) and optional scope to describe the affected module or feature.
|
12
|
+
|
13
|
+
2. **Gitmoji**: Include a relevant `gitmoji` that best represents the nature of the change.
|
14
|
+
|
15
|
+
3. **Description**: Write a concise, informative description in the header; use backticks if referencing code or specific terms.
|
16
|
+
|
17
|
+
4. **Body**: For additional details, use a well-structured body section:
|
18
|
+
- Use bullet points (`*`) for clarity.
|
19
|
+
- Clearly describe the motivation, context, or technical details behind the change, if applicable.
|
20
|
+
|
21
|
+
Commit messages should be clear, informative, and professional, aiding readability and project tracking.
|
22
|
+
|
23
|
+
Limit the first line to 72 characters or less.
|
24
|
+
|
25
|
+
Always write in English to maintain consistency and clarity across the project.
|
@@ -56,7 +56,7 @@ jobs:
|
|
56
56
|
|
57
57
|
- name: Publish to PyPI
|
58
58
|
if: steps.semantic.outputs.new_release_published == 'true'
|
59
|
-
run: twine upload dist/* -u __token__ -p "${{ secrets.PYPI_TOKEN }}"
|
59
|
+
run: twine upload dist/* --skip-existing -u __token__ -p "${{ secrets.PYPI_TOKEN }}"
|
60
60
|
|
61
61
|
deploy-docs:
|
62
62
|
runs-on: ubuntu-latest
|
@@ -83,7 +83,7 @@ jobs:
|
|
83
83
|
pip install -e .
|
84
84
|
|
85
85
|
- name: Build documentation
|
86
|
-
run: mkdocs build --strict
|
86
|
+
run: mkdocs build --strict #--verbose
|
87
87
|
|
88
88
|
- name: Deploy to GitHub Pages
|
89
89
|
uses: peaceiris/actions-gh-pages@v4
|
@@ -0,0 +1,12 @@
|
|
1
|
+
{
|
2
|
+
"python.testing.pytestArgs": [
|
3
|
+
"tests"
|
4
|
+
],
|
5
|
+
"python.testing.unittestEnabled": false,
|
6
|
+
"python.testing.pytestEnabled": true,
|
7
|
+
"github.copilot.chat.commitMessageGeneration.instructions": [
|
8
|
+
{
|
9
|
+
"file": ".github/copilot-commit-message-instructions.md"
|
10
|
+
}
|
11
|
+
]
|
12
|
+
}
|
@@ -0,0 +1,63 @@
|
|
1
|
+
# [1.5.0](https://github.com/mguyard/pydiagral/compare/v1.4.0...v1.5.0) (2025-03-02)
|
2
|
+
|
3
|
+
|
4
|
+
### Bug Fixes
|
5
|
+
|
6
|
+
* **api:** 🔧 Clean up API keys on connection failure ([c8f87c6](https://github.com/mguyard/pydiagral/commit/c8f87c6b4e0091775bf948d6471bc8966c9d25ad))
|
7
|
+
* **api:** 🔧 Refactor API key handling and introduce new exceptions ([b1f6d06](https://github.com/mguyard/pydiagral/commit/b1f6d060e52c0c660e760c1dc86c5fa75613e4b2))
|
8
|
+
* **api:** 🔧 Update log message for alarm name retrieval ([fca40e4](https://github.com/mguyard/pydiagral/commit/fca40e44bccd59f6399ae2b89a29c2b4fcc80172))
|
9
|
+
|
10
|
+
|
11
|
+
### Features
|
12
|
+
|
13
|
+
* **api:** 🚀 Add `get_alarm_name` method and log alarm name in tests ([96e727f](https://github.com/mguyard/pydiagral/commit/96e727fe851a1086d8689c6fb7204efdb702938d))
|
14
|
+
* **api:** 🚀 Add connection testing functionality with result handling ([a07bbfc](https://github.com/mguyard/pydiagral/commit/a07bbfc22a1f41418dad0347394cadcab31685e8))
|
15
|
+
* **api:** 🚀 Add testing connection feature ([53981f6](https://github.com/mguyard/pydiagral/commit/53981f6bdb8b797b7f4408fbaf2264b66a58ab38))
|
16
|
+
|
17
|
+
# [1.5.0-beta.6](https://github.com/mguyard/pydiagral/compare/v1.5.0-beta.5...v1.5.0-beta.6) (2025-03-01)
|
18
|
+
|
19
|
+
|
20
|
+
### Bug Fixes
|
21
|
+
|
22
|
+
* **api:** 🔧 Clean up API keys on connection failure ([c8f87c6](https://github.com/mguyard/pydiagral/commit/c8f87c6b4e0091775bf948d6471bc8966c9d25ad))
|
23
|
+
|
24
|
+
# [1.5.0-beta.5](https://github.com/mguyard/pydiagral/compare/v1.5.0-beta.4...v1.5.0-beta.5) (2025-03-01)
|
25
|
+
|
26
|
+
|
27
|
+
### Bug Fixes
|
28
|
+
|
29
|
+
* **api:** 🔧 Refactor API key handling and introduce new exceptions ([b1f6d06](https://github.com/mguyard/pydiagral/commit/b1f6d060e52c0c660e760c1dc86c5fa75613e4b2))
|
30
|
+
|
31
|
+
# [1.5.0-beta.4](https://github.com/mguyard/pydiagral/compare/v1.5.0-beta.3...v1.5.0-beta.4) (2025-02-28)
|
32
|
+
|
33
|
+
|
34
|
+
### Bug Fixes
|
35
|
+
|
36
|
+
* **api:** 🔧 Update log message for alarm name retrieval ([fca40e4](https://github.com/mguyard/pydiagral/commit/fca40e44bccd59f6399ae2b89a29c2b4fcc80172))
|
37
|
+
|
38
|
+
# [1.5.0-beta.3](https://github.com/mguyard/pydiagral/compare/v1.5.0-beta.2...v1.5.0-beta.3) (2025-02-28)
|
39
|
+
|
40
|
+
|
41
|
+
### Features
|
42
|
+
|
43
|
+
* **api:** 🚀 Add `get_alarm_name` method and log alarm name in tests ([96e727f](https://github.com/mguyard/pydiagral/commit/96e727fe851a1086d8689c6fb7204efdb702938d))
|
44
|
+
|
45
|
+
# [1.5.0-beta.2](https://github.com/mguyard/pydiagral/compare/v1.5.0-beta.1...v1.5.0-beta.2) (2025-02-28)
|
46
|
+
|
47
|
+
|
48
|
+
### Features
|
49
|
+
|
50
|
+
* **api:** 🚀 Add connection testing functionality with result handling ([a07bbfc](https://github.com/mguyard/pydiagral/commit/a07bbfc22a1f41418dad0347394cadcab31685e8))
|
51
|
+
|
52
|
+
# [1.5.0-beta.1](https://github.com/mguyard/pydiagral/compare/v1.4.0...v1.5.0-beta.1) (2025-02-28)
|
53
|
+
|
54
|
+
|
55
|
+
### Features
|
56
|
+
|
57
|
+
* **api:** 🚀 Add testing connection feature ([53981f6](https://github.com/mguyard/pydiagral/commit/53981f6bdb8b797b7f4408fbaf2264b66a58ab38))
|
58
|
+
|
59
|
+
# 1.4.0 (2025-02-23)
|
60
|
+
|
61
|
+
### Features
|
62
|
+
|
63
|
+
- Initial Public release
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: pydiagral
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.5.0
|
4
4
|
Summary: A Python library for interacting with Diagral systems
|
5
5
|
Project-URL: Homepage, https://github.com/mguyard/pydiagral
|
6
6
|
Project-URL: Documentation, https://github.com/mguyard/pydiagral
|
@@ -685,7 +685,7 @@ License: GNU GENERAL PUBLIC LICENSE
|
|
685
685
|
<https://www.gnu.org/licenses/why-not-lgpl.html>.
|
686
686
|
License-File: LICENSE
|
687
687
|
Keywords: diagral,home automation,python
|
688
|
-
Classifier: Development Status ::
|
688
|
+
Classifier: Development Status :: 5 - Production/Stable
|
689
689
|
Classifier: Intended Audience :: Developers
|
690
690
|
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
|
691
691
|
Classifier: Operating System :: OS Independent
|
@@ -702,9 +702,6 @@ Description-Content-Type: text/markdown
|
|
702
702
|
<p align="center">
|
703
703
|
<img src="https://raw.githubusercontent.com/mguyard/pydiagral/main/docs/pydiagral-Logo.png" width="400" />
|
704
704
|
</p>
|
705
|
-
<p align="center">
|
706
|
-
<h1 align="center">PyDiagral</h1>
|
707
|
-
</p>
|
708
705
|
<p align="center">
|
709
706
|
A powerful and easy-to-use Python library for seamless integration with the Diagral alarm system.
|
710
707
|
</p>
|
@@ -729,19 +726,25 @@ Description-Content-Type: text/markdown
|
|
729
726
|
</p>
|
730
727
|
<br /><br />
|
731
728
|
|
732
|
-
#
|
729
|
+
# pydiagral
|
733
730
|
|
734
731
|
Welcome to the documentation for pydiagral, a Python library for interacting with the Diagral API.
|
735
732
|
|
736
|
-
## About pydiagral
|
733
|
+
## 📍 About pydiagral
|
737
734
|
|
738
|
-
pydiagral is an asynchronous Python interface for the Diagral alarm system. This library allows users to control and monitor their Diagral alarm system through the official API.
|
735
|
+
`pydiagral` is an asynchronous Python interface for the Diagral alarm system. This library allows users to control and monitor their Diagral alarm system through the official API.
|
739
736
|
|
740
|
-
|
737
|
+
> [!CAUTION]
|
738
|
+
>
|
739
|
+
> Please note that the Diagral alarm system is a security system, and it may be preferable not to connect it to any automation platform for security reasons.
|
740
|
+
> In no event shall the developer of [`pydiagral`](https://github.com/mguyard/pydiagral) library be held liable for any issues arising from the use of this [`pydiagral`](https://github.com/mguyard/pydiagral) library.
|
741
|
+
> The user installs and uses this integration at their own risk and with full knowledge of the potential implications.
|
742
|
+
|
743
|
+
## ✅ Requirement
|
741
744
|
|
742
745
|
To use this library, which leverages the Diagral APIs, you must have a Diagral box (DIAG56AAX). This box connects your Diagral alarm system to the internet, enabling interaction with the alarm system via the API. You can find more information about the Diagral box [here](https://www.diagral.fr/commande/box-alerte-et-pilotage).
|
743
746
|
|
744
|
-
## Key Features
|
747
|
+
## 📦 Key Features
|
745
748
|
|
746
749
|
The `DiagralAPI` class offers the following functionalities:
|
747
750
|
|
@@ -766,7 +769,7 @@ The `DiagralAPI` class offers the following functionalities:
|
|
766
769
|
- Activate or Desactivate system (partially or globally)
|
767
770
|
- Automatism actions
|
768
771
|
|
769
|
-
## Quick Start
|
772
|
+
## 🚀 Quick Start
|
770
773
|
|
771
774
|
To get started with pydiagral, follow these steps:
|
772
775
|
|
@@ -796,33 +799,72 @@ And run the [example_code.py](https://github.com/mguyard/pydiagral/blob/main/exa
|
|
796
799
|
>
|
797
800
|
> You can customize the actions performed by [example_code.py](https://github.com/mguyard/pydiagral/blob/main/example_code.py) by modifying the parameters in the code, as indicated by the `CUSTOMIZE THE TESTS` section title.
|
798
801
|
|
802
|
+
# 📖 Documentations
|
803
|
+
|
804
|
+
## Package Documentation
|
805
|
+
|
806
|
+
Library documentation is available [here](https://mguyard.github.io/pydiagral/).
|
807
|
+
|
808
|
+
### Package Structure
|
809
|
+
|
810
|
+
For detailed library documentation, please refer to the following sections:
|
811
|
+
|
812
|
+
- [API Reference](https://mguyard.github.io/pydiagral/api/): Comprehensive documentation of the DiagralAPI class and its methods
|
813
|
+
- [Data Models](https://mguyard.github.io/pydiagral/models/): Description of the data structures used
|
814
|
+
- [Exceptions](https://mguyard.github.io/pydiagral/exceptions/): List of package exceptions
|
815
|
+
|
799
816
|
## Diagral API Official documentation
|
800
817
|
|
801
818
|
Official Diagral API is available [here](https://appv3.tt-monitor.com/emerald/redoc).
|
802
819
|
|
820
|
+
# 🙋 FAQ
|
821
|
+
|
803
822
|
## How to find Serial on DIAG56AAX
|
804
823
|
|
805
824
|
The serial number can only be found with physical access to the box. You need to open it, and you will find a label with a QR Code.
|
825
|
+
|
806
826
|
On this label, there is a 15-character code that represents the serial number of the box.
|
807
827
|
|
808
|
-

|
828
|
+

|
809
829
|
|
810
830
|
> [!IMPORTANT]
|
811
831
|
>
|
812
832
|
> This code is necessary to use this library and Diagral API.
|
813
833
|
|
814
|
-
|
834
|
+
# 🤝 Contribution
|
835
|
+
|
836
|
+
Contributions are welcome! Here are several ways you can contribute:
|
837
|
+
|
838
|
+
- **Submit Pull Requests**: Review open PRs, and submit your own PRs.
|
839
|
+
- **Report Issues**: Submit bugs found or log feature requests.
|
815
840
|
|
816
|
-
|
841
|
+
<details closed>
|
842
|
+
<summary>Contributing Guidelines</summary>
|
817
843
|
|
818
|
-
|
819
|
-
|
820
|
-
|
844
|
+
1. **Fork the Repository**: Start by forking the project repository to your GitHub account.
|
845
|
+
2. **Clone Locally**: Clone the forked repository to your local machine using a Git client.
|
846
|
+
```sh
|
847
|
+
git clone https://github.com/mguyard/pydiagral
|
848
|
+
```
|
849
|
+
3. **Create a New Branch**: Always work on a new branch, giving it a descriptive name.
|
850
|
+
```sh
|
851
|
+
git checkout -b new-feature-x
|
852
|
+
```
|
853
|
+
4. **Make Your Changes**: Develop and test your changes locally.
|
854
|
+
5. **Commit Your Changes**: Commit your changes with a clear and concise message that follows the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) guidelines.
|
855
|
+
```sh
|
856
|
+
git commit -m 'feat: Implemented new feature x.'
|
857
|
+
```
|
858
|
+
6. **Push to GitHub**: Push the changes to your forked repository.
|
859
|
+
```sh
|
860
|
+
git push origin new-feature-x
|
861
|
+
```
|
862
|
+
7. **Submit a Pull Request**: Create a PR against the original project repository. Clearly describe the changes and their motivations.
|
821
863
|
|
822
|
-
|
864
|
+
Once your PR is reviewed and approved, it will be merged into the `beta` branch. After final testing, it will be merged into the `main` branch.
|
823
865
|
|
824
|
-
|
866
|
+
</details>
|
825
867
|
|
826
|
-
|
868
|
+
# 📄 License
|
827
869
|
|
828
870
|
pydiagral is distributed under the GPL-v3 License. See the [LICENSE](https://github.com/mguyard/pydiagral/blob/main/LICENSE) file for more details.
|
@@ -1,9 +1,6 @@
|
|
1
1
|
<p align="center">
|
2
2
|
<img src="https://raw.githubusercontent.com/mguyard/pydiagral/main/docs/pydiagral-Logo.png" width="400" />
|
3
3
|
</p>
|
4
|
-
<p align="center">
|
5
|
-
<h1 align="center">PyDiagral</h1>
|
6
|
-
</p>
|
7
4
|
<p align="center">
|
8
5
|
A powerful and easy-to-use Python library for seamless integration with the Diagral alarm system.
|
9
6
|
</p>
|
@@ -28,19 +25,25 @@
|
|
28
25
|
</p>
|
29
26
|
<br /><br />
|
30
27
|
|
31
|
-
#
|
28
|
+
# pydiagral
|
32
29
|
|
33
30
|
Welcome to the documentation for pydiagral, a Python library for interacting with the Diagral API.
|
34
31
|
|
35
|
-
## About pydiagral
|
32
|
+
## 📍 About pydiagral
|
36
33
|
|
37
|
-
pydiagral is an asynchronous Python interface for the Diagral alarm system. This library allows users to control and monitor their Diagral alarm system through the official API.
|
34
|
+
`pydiagral` is an asynchronous Python interface for the Diagral alarm system. This library allows users to control and monitor their Diagral alarm system through the official API.
|
38
35
|
|
39
|
-
|
36
|
+
> [!CAUTION]
|
37
|
+
>
|
38
|
+
> Please note that the Diagral alarm system is a security system, and it may be preferable not to connect it to any automation platform for security reasons.
|
39
|
+
> In no event shall the developer of [`pydiagral`](https://github.com/mguyard/pydiagral) library be held liable for any issues arising from the use of this [`pydiagral`](https://github.com/mguyard/pydiagral) library.
|
40
|
+
> The user installs and uses this integration at their own risk and with full knowledge of the potential implications.
|
41
|
+
|
42
|
+
## ✅ Requirement
|
40
43
|
|
41
44
|
To use this library, which leverages the Diagral APIs, you must have a Diagral box (DIAG56AAX). This box connects your Diagral alarm system to the internet, enabling interaction with the alarm system via the API. You can find more information about the Diagral box [here](https://www.diagral.fr/commande/box-alerte-et-pilotage).
|
42
45
|
|
43
|
-
## Key Features
|
46
|
+
## 📦 Key Features
|
44
47
|
|
45
48
|
The `DiagralAPI` class offers the following functionalities:
|
46
49
|
|
@@ -65,7 +68,7 @@ The `DiagralAPI` class offers the following functionalities:
|
|
65
68
|
- Activate or Desactivate system (partially or globally)
|
66
69
|
- Automatism actions
|
67
70
|
|
68
|
-
## Quick Start
|
71
|
+
## 🚀 Quick Start
|
69
72
|
|
70
73
|
To get started with pydiagral, follow these steps:
|
71
74
|
|
@@ -95,33 +98,72 @@ And run the [example_code.py](https://github.com/mguyard/pydiagral/blob/main/exa
|
|
95
98
|
>
|
96
99
|
> You can customize the actions performed by [example_code.py](https://github.com/mguyard/pydiagral/blob/main/example_code.py) by modifying the parameters in the code, as indicated by the `CUSTOMIZE THE TESTS` section title.
|
97
100
|
|
101
|
+
# 📖 Documentations
|
102
|
+
|
103
|
+
## Package Documentation
|
104
|
+
|
105
|
+
Library documentation is available [here](https://mguyard.github.io/pydiagral/).
|
106
|
+
|
107
|
+
### Package Structure
|
108
|
+
|
109
|
+
For detailed library documentation, please refer to the following sections:
|
110
|
+
|
111
|
+
- [API Reference](https://mguyard.github.io/pydiagral/api/): Comprehensive documentation of the DiagralAPI class and its methods
|
112
|
+
- [Data Models](https://mguyard.github.io/pydiagral/models/): Description of the data structures used
|
113
|
+
- [Exceptions](https://mguyard.github.io/pydiagral/exceptions/): List of package exceptions
|
114
|
+
|
98
115
|
## Diagral API Official documentation
|
99
116
|
|
100
117
|
Official Diagral API is available [here](https://appv3.tt-monitor.com/emerald/redoc).
|
101
118
|
|
119
|
+
# 🙋 FAQ
|
120
|
+
|
102
121
|
## How to find Serial on DIAG56AAX
|
103
122
|
|
104
123
|
The serial number can only be found with physical access to the box. You need to open it, and you will find a label with a QR Code.
|
124
|
+
|
105
125
|
On this label, there is a 15-character code that represents the serial number of the box.
|
106
126
|
|
107
|
-

|
127
|
+

|
108
128
|
|
109
129
|
> [!IMPORTANT]
|
110
130
|
>
|
111
131
|
> This code is necessary to use this library and Diagral API.
|
112
132
|
|
113
|
-
|
133
|
+
# 🤝 Contribution
|
134
|
+
|
135
|
+
Contributions are welcome! Here are several ways you can contribute:
|
136
|
+
|
137
|
+
- **Submit Pull Requests**: Review open PRs, and submit your own PRs.
|
138
|
+
- **Report Issues**: Submit bugs found or log feature requests.
|
114
139
|
|
115
|
-
|
140
|
+
<details closed>
|
141
|
+
<summary>Contributing Guidelines</summary>
|
116
142
|
|
117
|
-
|
118
|
-
|
119
|
-
|
143
|
+
1. **Fork the Repository**: Start by forking the project repository to your GitHub account.
|
144
|
+
2. **Clone Locally**: Clone the forked repository to your local machine using a Git client.
|
145
|
+
```sh
|
146
|
+
git clone https://github.com/mguyard/pydiagral
|
147
|
+
```
|
148
|
+
3. **Create a New Branch**: Always work on a new branch, giving it a descriptive name.
|
149
|
+
```sh
|
150
|
+
git checkout -b new-feature-x
|
151
|
+
```
|
152
|
+
4. **Make Your Changes**: Develop and test your changes locally.
|
153
|
+
5. **Commit Your Changes**: Commit your changes with a clear and concise message that follows the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) guidelines.
|
154
|
+
```sh
|
155
|
+
git commit -m 'feat: Implemented new feature x.'
|
156
|
+
```
|
157
|
+
6. **Push to GitHub**: Push the changes to your forked repository.
|
158
|
+
```sh
|
159
|
+
git push origin new-feature-x
|
160
|
+
```
|
161
|
+
7. **Submit a Pull Request**: Create a PR against the original project repository. Clearly describe the changes and their motivations.
|
120
162
|
|
121
|
-
|
163
|
+
Once your PR is reviewed and approved, it will be merged into the `beta` branch. After final testing, it will be merged into the `main` branch.
|
122
164
|
|
123
|
-
|
165
|
+
</details>
|
124
166
|
|
125
|
-
|
167
|
+
# 📄 License
|
126
168
|
|
127
169
|
pydiagral is distributed under the GPL-v3 License. See the [LICENSE](https://github.com/mguyard/pydiagral/blob/main/LICENSE) file for more details.
|
@@ -8,6 +8,12 @@ Welcome to the documentation for pydiagral, a Python library for interacting wit
|
|
8
8
|
|
9
9
|
pydiagral is an asynchronous Python interface for the Diagral alarm system. This library allows users to control and monitor their Diagral alarm system through the official API.
|
10
10
|
|
11
|
+
> [!CAUTION]
|
12
|
+
>
|
13
|
+
> Please note that the Diagral alarm system is a security system, and it may be preferable not to connect it to any automation platform for security reasons.
|
14
|
+
> In no event shall the developer of [`pydiagral`](https://github.com/mguyard/pydiagral) library be held liable for any issues arising from the use of this [`pydiagral`](https://github.com/mguyard/pydiagral) library.
|
15
|
+
> The user installs and uses this integration at their own risk and with full knowledge of the potential implications.
|
16
|
+
|
11
17
|
## Requirement
|
12
18
|
|
13
19
|
To use this library, which leverages the Diagral APIs, you must have a Diagral box (DIAG56AAX). This box connects your Diagral alarm system to the internet, enabling interaction with the alarm system via the API. You can find more information about the Diagral box [here](https://www.diagral.fr/commande/box-alerte-et-pilotage).
|