Added new script

This commit is contained in:
Christoffer Martinsson 2018-10-29 15:32:55 +01:00
parent 6d54150f06
commit c734a812fa
19 changed files with 122 additions and 77 deletions

View File

@ -1,33 +1,26 @@
+++
title = "Home"
weight = 1
date = "2018-10-29"
+++
![LOGO](images/HAASPLogo_Dark.png)
**H**ome **A**utomation **A**nd **S**ecurity **P**latform is a sowftware framework for home automation and security installations. Primary written in python and optimized for use within docker containers HAASP consist of following modules:
**H**ome **A**utomation **A**nd **S**ecurity **P**latform is a sowftware framework for home automation and security installations. Primary written in python and optimized for use within docker containers.
### Lib
* **libHaasp** : HAASP main module package - [https://git.cmtec.se/haasp/libhaasp](https://git.cmtec.se/haasp/libhaasp)
{{% alert theme="info" %}}At the moment access to HAASP is only granted by sending us a request email at [info@haasp.net](mailto:info@haasp.net) or [info@cmtec.se](mailto:info@cmtec.se){{% /alert %}}
**Features:**
### Core
* **Core** : HAASP core application to handle all events and configurations - [https://git.cmtec.se/haasp/haasp_core](https://git.cmtec.se/haasp/haasp_core)
* ***haasp_core*** HAASP core executable
* Scalable non restricted workflow - *Configuration made entirely in python*
* Scalable module network - *Communication between modules via tcp protocol*
* Deployable on Docker environment
* Deployable on Unraid server (via Docker containers)
* Deployable on dedecated hardware (ex: raspberry pi)
### Applications
* **Zwave** : Zwave application to relay zwave events to HAASP - [https://git.cmtec.se/haasp/haasp_zwave](https://git.cmtec.se/haasp/haasp_zwave)
* ***haasp_zwave*** HAASP zwave executable
* **Huee** : HUE Emulator to enable Amazon Echo to send events to HAASP - [https://git.cmtec.se/haasp/haasp_huee](https://git.cmtec.se/haasp/haasp_huee)
* ***haasp_huee*** HAASP huee executable
* **Broadlink** : IR Wifi extender support for HAASP - [https://git.cmtec.se/haasp/haasp_broadlink](https://git.cmtec.se/haasp/haasp_broadlink)
* ***haasp_broadlink*** HAASP broadlink executable
* **WebApp** : Web application to interact with HAASP - [https://git.cmtec.se/haasp/haasp_webapp](https://git.cmtec.se/haasp/haasp_webapp)
* ***haasp_webapp*** HAASP webapp executable
* **Supervisor** : Hardware supervisor that send SMS depending of HAASP events - [TBD]()
* ***haasp_supervisor*** HAASP supervisor executable
### Management
* **Cli** : HAASP cli to send command and view logging - [https://git.cmtec.se/haasp/haasp_cli](https://git.cmtec.se/haasp/haasp_cli)
* ***haasp_cli*** HAASP cli executable
**Contribution:**
If you want to contribute to the HAASP project please feel free to send an email to [info@haasp.net](mailto:info@haasp.net) or [info@cmtec.se](mailto:info@cmtec.se)
{{< figure src="/images/cmtecLogo_Dark_600x276.png" width="100px" link="https://pages.cmtec.se/cmtec.se" >}}

View File

@ -1,7 +1,7 @@
+++
title = "Applications"
weight=5
weight=8
alwaysopen = true
+++
TEST
:

View File

@ -1,6 +1,9 @@
+++
weight = "10"
title = "Broadlink"
date = "2018-08-06T13:43:48.000Z"
lastmodifierdisplayname = "Christoffer Martinsson"
lastmodifieremail = "christoffer.martinsson@mildef.com"
+++
The broadlink app will output all found devices on start, you can use this to setup your config file as shown bellow

View File

@ -1,6 +1,8 @@
+++
title = "Changelog"
date = "2018-08-06T13:43:48.000Z"
lastmodifierdisplayname = "Christoffer Martinsson"
lastmodifieremail = "christoffer.martinsson@mildef.com"
+++
### v1.0
Basic function like send ir/rf codes and learning ir/rf codes works now

View File

@ -1,4 +1,7 @@
+++
weight = "11"
title = "Huee"
date = "2018-08-06T13:14:07.000Z"
lastmodifierdisplayname = "Christoffer Martinsson"
lastmodifieremail = "christoffer.martinsson@mildef.com"
+++

View File

@ -1,4 +1,6 @@
+++
title = "Changelog"
date = "2018-08-06T13:14:07.000Z"
lastmodifierdisplayname = "Christoffer Martinsson"
lastmodifieremail = "christoffer.martinsson@mildef.com"
+++

View File

@ -1,4 +1,7 @@
+++
weight = "12"
title = "Webapp"
date = "2018-10-23T20:28:25.000Z"
lastmodifierdisplayname = "christianm"
lastmodifieremail = "chrillemz@gmail.com"
+++

View File

@ -1,6 +1,8 @@
+++
title = "Changelog"
date = "2018-10-23T20:28:25.000Z"
lastmodifierdisplayname = "christianm"
lastmodifieremail = "chrillemz@gmail.com"
+++
### v0.10
Updated web UI, we now group the buttons with color and som style update on buttons

View File

@ -1,4 +1,7 @@
+++
weight = "13"
title = "Zwave"
date = "2018-08-06T12:01:09.000Z"
lastmodifierdisplayname = "Christoffer Martinsson"
lastmodifieremail = "christoffer.martinsson@mildef.com"
+++

View File

@ -1,4 +1,6 @@
+++
title = "Changelog"
date = "2018-08-06T12:01:09.000Z"
lastmodifierdisplayname = "Christoffer Martinsson"
lastmodifieremail = "christoffer.martinsson@mildef.com"
+++

View File

@ -2,4 +2,6 @@
title = "CLI"
weight = 7
date = "2018-08-06T11:09:51.000Z"
lastmodifierdisplayname = "Christian Martinsson"
lastmodifieremail = "chrillemz@gmail.com"
+++

View File

@ -1,4 +1,6 @@
+++
title = "Changelog"
date = "2018-08-06T11:09:51.000Z"
lastmodifierdisplayname = "Christian Martinsson"
lastmodifieremail = "chrillemz@gmail.com"
+++

View File

@ -7,7 +7,7 @@ The config file is located at `~/.haasp/haasp_config.py`
### Template
```python
from haasp import EventObject, ConfigObject
from libhaasp import EventObject, ConfigObject
class Config(ConfigObject):
@ -38,5 +38,4 @@ class Config(ConfigObject):
# -------------------------------------------------------------------------
if self.timer_test.event == "triggered":
self.log.debug("Timer DONE!")
```

View File

@ -1,6 +1,7 @@
+++
title = "Core"
head = "<label>Modules</label>"
weight = 5
weight = 6
date = "2018-08-06T20:43:20.000Z"
lastmodifierdisplayname = "Christoffer Martinsson"
lastmodifieremail = "christoffer.martinsson@mildef.com"
+++

View File

@ -1,6 +1,8 @@
+++
title = "Changelog"
date = "2018-08-06T20:43:20.000Z"
lastmodifierdisplayname = "Christoffer Martinsson"
lastmodifieremail = "christoffer.martinsson@mildef.com"
+++
### v1.2

View File

@ -0,0 +1,8 @@
+++
title = "libHAASP"
head = "<label>Modules</label>"
weight = 5
date = "2018-08-09T14:27:53.000Z"
lastmodifierdisplayname = "Christoffer Martinsson"
lastmodifieremail = "cm@cmtec.se"
+++

View File

@ -0,0 +1,6 @@
+++
title = "Changelog"
date = "2018-08-09T14:27:53.000Z"
lastmodifierdisplayname = "Christoffer Martinsson"
lastmodifieremail = "cm@cmtec.se"
+++

View File

@ -6,49 +6,49 @@ import os
apps = {"broadlink": "68", "zwave": "60", "huee": "62", "webapp": "59"}
headers = {"PRIVATE-TOKEN": sys.argv[1]}
def get_data(id_number):
commit = requests.get('https://git.cmtec.se/api/v4/projects/' + id_number + '/repository/commits/master', headers=headers)
date = commit.json()["committed_date"]
name = commit.json()["committer_name"]
email = commit.json()["committer_email"]
readme = requests.get('https://git.cmtec.se/api/v4/projects/' + id_number + '/repository/files/README.md/raw?ref=master', headers=headers).text
changelog = requests.get('https://git.cmtec.se/api/v4/projects/' + id_number + '/repository/files/CHANGELOG.md/raw?ref=master', headers=headers).text
return (date, name, email, readme, changelog)
def create_files(path, readme, changelog):
if not os.path.exists("content/" + path):
os.makedirs("content/" + path)
with open('content/'+path+'/_index.md', 'w') as file:
file.write(readme)
with open('content/'+path+'/changelog.md', 'w') as file:
file.write(changelog)
# LibHAASP
date,name,email,readme,changelog = get_data("64")
meta_readme = '+++\ntitle = "libHAASP"\nhead = "<label>Modules</label>"\nweight = 5\ndate = "' + date + '"\nlastmodifierdisplayname = "' + name + '"\nlastmodifieremail = "' + email + '"\n+++\n'
meta_changelog = '+++\ntitle = "Changelog"\ndate = "' + date + '"\nlastmodifierdisplayname = "' + name + '"\nlastmodifieremail = "' + email + '"\n+++\n'
create_files("libhaasp", meta_readme + readme, meta_changelog + changelog)
# Core
date = requests.get('https://git.cmtec.se/api/v4/projects/58/repository/commits/master', headers=headers).json()["committed_date"]
readme = requests.get('https://git.cmtec.se/api/v4/projects/58/repository/files/README.md/raw?ref=master', headers=headers).text
changelog = requests.get('https://git.cmtec.se/api/v4/projects/58/repository/files/CHANGELOG.md/raw?ref=master', headers=headers).text
meta_readme = '+++\ntitle = "Core"\nhead = "<label>Modules</label>"\nweight = 5\ndate = "' + date + '"\n+++\n'
meta_changelog = '+++\ntitle = "Changelog"\ndate = "' + date + '"\n+++\n'
if not os.path.exists("content/core"):
os.makedirs("content/core")
with open('content/core/_index.md', 'w') as file:
file.write(meta_readme + readme)
with open('content/core/changelog.md', 'w') as file:
file.write(meta_changelog + changelog)
date,name,email,readme,changelog = get_data("58")
meta_readme = '+++\ntitle = "Core"\nweight = 6\ndate = "' + date + '"\nlastmodifierdisplayname = "' + name + '"\nlastmodifieremail = "' + email + '"\n+++\n'
meta_changelog = '+++\ntitle = "Changelog"\ndate = "' + date + '"\nlastmodifierdisplayname = "' + name + '"\nlastmodifieremail = "' + email + '"\n+++\n'
create_files("core", meta_readme + readme, meta_changelog + changelog)
# CLI
date = requests.get('https://git.cmtec.se/api/v4/projects/69/repository/commits/master', headers=headers).json()["committed_date"]
readme = requests.get('https://git.cmtec.se/api/v4/projects/69/repository/files/README.md/raw?ref=master', headers=headers).text
changelog = requests.get('https://git.cmtec.se/api/v4/projects/69/repository/files/CHANGELOG.md/raw?ref=master', headers=headers).text
meta_readme = '+++\ntitle = "CLI"\nweight = 7\ndate = "' + date + '"\n+++\n'
meta_changelog = '+++\ntitle = "Changelog"\ndate = "' + date + '"\n+++\n'
if not os.path.exists("content/cli"):
os.makedirs("content/cli")
with open('content/cli/_index.md', 'w') as file:
file.write(meta_readme + readme)
with open('content/cli/changelog.md', 'w') as file:
file.write(meta_changelog + changelog)
date,name,email,readme,changelog = get_data("69")
meta_readme = '+++\ntitle = "CLI"\nweight = 7\ndate = "' + date + '"\nlastmodifierdisplayname = "' + name + '"\nlastmodifieremail = "' + email + '"\n+++\n'
meta_changelog = '+++\ntitle = "Changelog"\ndate = "' + date + '"\nlastmodifierdisplayname = "' + name + '"\nlastmodifieremail = "' + email + '"\n+++\n'
create_files("cli", meta_readme + readme, meta_changelog + changelog)
# Applications
for app in apps.keys():
date = requests.get('https://git.cmtec.se/api/v4/projects/' + apps[app] + '/repository/commits/master', headers=headers).json()["committed_date"]
readme = requests.get('https://git.cmtec.se/api/v4/projects/' + apps[app] + '/repository/files/README.md/raw?ref=master', headers=headers).text
changelog = requests.get('https://git.cmtec.se/api/v4/projects/' + apps[app] + '/repository/files/CHANGELOG.md/raw?ref=master', headers=headers).text
meta_readme = '+++\ntitle = "' + app[0].upper() + app[1:] + '"\ndate = "' + date + '"\n+++\n'
meta_changelog = '+++\ntitle = "Changelog"\ndate = "' + date + '"\n+++\n'
if not os.path.exists("content/applications/" + app):
os.makedirs("content/applications/" + app)
with open('content/applications/' + app + '/_index.md', 'w') as file:
file.write(meta_readme + readme)
with open('content/applications/' + app + '/changelog.md', 'w') as file:
file.write(meta_changelog + changelog)
weight = 10
for app in sorted(apps.keys()):
date,name,email,readme,changelog = get_data(apps[app])
meta_readme = '+++\nweight = "' + str(weight) + '"\ntitle = "' + app[0].upper() + app[1:] + '"\ndate = "' + date + '"\nlastmodifierdisplayname = "' + name + '"\nlastmodifieremail = "' + email + '"\n+++\n'
meta_changelog = '+++\ntitle = "Changelog"\ndate = "' + date + '"\nlastmodifierdisplayname = "' + name + '"\nlastmodifieremail = "' + email + '"\n+++\n'
create_files("applications/" + app, meta_readme + readme, meta_changelog + changelog)
weight = weight + 1

View File

@ -36,21 +36,10 @@ article > aside .menu .dd-item div i.category-icon:hover {
article {
background-color: #262626;
color: #c6c6c6;
width: 1300px;
margin-left: auto;
margin-right: auto;
}
@media (max-width: 1300px) {
article {
background-color: #262626;
color: #c6c6c6;
width: 100%;
margin-left: none;
margin-right: none;
}
}
.searchbox input {
background: #303030;
color: #c6c6c6;
@ -78,6 +67,7 @@ article section.page {
font-weight: normal;
overflow-y: initial;
padding-left: 0;
width: 1000px;
}
section strong {
@ -132,6 +122,7 @@ code {
article section.page pre {
background: #303030;
color: #c6c6c6;
width: 100%;
}
.nav-select {
@ -175,3 +166,24 @@ article section.page table td {
background: #262626;
}
@media (max-width: 1300px) {
article {
margin-left: 5px;
margin-right: 5px;
}
article section.page {
width: 100px;
}
article section.page pre {
width: 100%;
}
}
@media (max-width: 768px) {
article {
margin-left: 15px;
}
article section.page {
width: 100%;
}
}