Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/release-1.5'
Browse files Browse the repository at this point in the history
* origin/release-1.5: (245 commits)
  Version adjusted
  Documentation updates
  Release notes: one more typo
  Corrected typo
  Added info to release notes
  Added tabcount and title for 2 tabs to index.html of sample plugin webif
  Documentation updates
  Documentation updates
  Sample Plugin Webif: added reload parameter
  Documentation updates: Changed documentation feedback page from github wiki to smarthomeNG.de
  Sample Plugin Webif: fixed example
  Documentation updates
  Images für TreeView now in global gstatic folder, CSS changed
  Documentation updates
  Documentation updates
  Documentation updates
  Documentation updates
  Documentation updates
  Documentation updates
  Documentation updates
  ...

# Conflicts:
#	.gitmodules
#	bin/shngversion.py
#	doc/developer/source/release/1_4_1.rst
#	doc/user/Makefile
#	doc/user/source/conf.py
#	doc/user/source/konfiguration/plugins.rst
#	doc/user/source/release.rst
#	lib/network.py
#	plugins
  • Loading branch information
msinn committed Jul 8, 2018
2 parents 0dff024 + 7860d22 commit 0594062
Show file tree
Hide file tree
Showing 8,693 changed files with 427,804 additions and 5,358 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,11 @@ nosetests.xml
ehthumbs.db
Thumbs.db

# Don't check in build documentation files
/doc/user/build
/doc/developer/build

# Pycharm settings
/.idea
/custom_plugins
plugins

5 changes: 0 additions & 5 deletions .gitmodules

This file was deleted.

109 changes: 109 additions & 0 deletions .travis.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
#######################################################################
# Travis-CI script
#
# This script will checkout all required reqository to run the
# suite.
#
# The following configuration settings are available:
# * Environment settings:
# - REPOSITORY_ORIGIN: defines the current repos origin (e.g.
# "smarthome" or "plugins")
# * Script settings:
# - REPOSITORIES: List of repositories to checkout from smarthomeNG
# organization (e.g. "https://github.com/smarthomeNG/<repo-name>")
# - LINKS: Contains a list of links to create before running the
# suite (e.g. "<target-repo>/<target-dir>/<source-repo>")
# * Script variables:
# - REPOSITORY: The name of the current repository
# - REPOSITORY_ORIGIN: The origin repository from environment setting
# - REPOSITORY_BRANCH: The branch to use for checkouts

echo -e "travis_fold:start:Environment\nEnvironment dump"
set
export
echo "travis_fold:end:Environment"

#######################################################################
# Declare some common variables

REPOSITORIES="smarthome plugins"
LINKS="smarthome/plugins/plugins"

# Get the current repository which is processed
REPOSITORY="$(basename $TRAVIS_REPO_SLUG)"
REPOSITORY_ORIGIN="$REPOSITORY_ORIGIN"

# Find out on which branch to work
if [ "$TRAVIS_BRANCH" = "master" ] ; then
REPOSITORY_BRANCH="master"
else
REPOSITORY_BRANCH="develop"
fi


#######################################################################
# 1. Checkout all repositories

echo -e "travis_fold:start:Checkout\nChecking out repositories with $REPOSITORY_BRANCH branch"

# Change to root directory since script is started in checkout
cd $TRAVIS_BUILD_DIR/..

# Check out other repositories with develop version
for REPO in $REPOSITORIES ; do
if [ "$REPO" != "$REPOSITORY_ORIGIN" ] ; then
echo "Checking out $REPO ..."
git clone https://github.com/smarthomeNG/$REPO.git $REPO
cd $REPO
git checkout $REPOSITORY_BRANCH
cd ..
fi
done

echo "travis_fold:end:Checkout"


#######################################################################
# 2. Create symlinks in repositories

echo -e "travis_fold:start:Links\nCreating symlinks"

# Create symlinks in core repository
for LINK in $LINKS ; do
TARGET=$(dirname "$LINK")
TARGET_REPO=$(dirname "$TARGET")
TARGET_DIR=$(basename "$TARGET")
SOURCE_REPO=$(basename "$LINK")

echo "Create link from $SOURCE_REPO to $TARGET_REPO/$TARGET_DIR ..."
cd $TARGET_REPO
rm -rf $TARGET_DIR
ln -s ../$SOURCE_REPO $TARGET_DIR
cd ..
done

echo "travis_fold:end:Links"


#######################################################################
# 3. Run

echo -e "travis_fold:start:Suite\nRunning suite"

cd smarthome
tox
cd ..

echo "travis_fold:end:Suite"


#######################################################################
# 4. Docs

#echo -e "travis_fold:start:Docs\nBuilding documentation"

#cd smarthome/doc
#yes | bash build_doc.sh
#cd ../..

#echo "travis_fold:end:Docs"
8 changes: 4 additions & 4 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
sudo: false
language: python
python:
# - "3.2"
- "3.3"
- "3.4"
- "3.5"
- "3.6"

before_install:
- git submodule update --init --remote --recursive
env:
- REPOSITORY_ORIGIN=smarthome

install:
- pip install tox-travis "virtualenv<14.0.0"
- pip install sphinx sphinx_rtd_theme recommonmark ruamel.yaml

script:
- tox
- sh .travis.sh
83 changes: 18 additions & 65 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,32 +12,27 @@ Additional information / documentation can be found in the [SmartHomeNG Wiki](ht

| directory | description|
| --- | :--- |
|bin | the main python file is based here |
|dev | if you plan to create a plugin then this is the folder you want to have a closer look at |
|etc | the three basic configuration files smarthome.conf, plugin.conf and logic.conf are located here, you will edit these files to reflect your basic settings|
|bin | the main python file is based here |
|dev | if you plan to create a plugin then this is the folder you want to have a closer look at |
|doc | Source files for the user- and developer documentation |
|etc | the three basic configuration files smarthome.yaml, module.yaml, plugin.yaml, logic.yaml and logging.yaml are located here, you will edit these files to reflect your basic settings|
|examples | some examples of items, etc. this is only for informational purpose |
|items | put here your own files for your items |
|lib | some more core python modules are in this directory. You won't need to change anything here
|lib | some more core python modules are in this directory. You won't need to change anything here
|logics | here your logic files are put
|modules | here are all loadable core-modules located (one subdirectory for every module)
|plugins | here are all plugins located (one subdirectory for every plugin)
|plugins | here are all plugins located (one subdirectory for every plugin). The plugins have to be installed from a separate repository (smarthomeNG/plugins)
|scenes | the scenes are stored here
|tools | there are some tools which help you for creating an initial configuration
|var | everything that is changed by smarthome is put here, e.g. logfiles, cache, sqlite database etc.
| tests | The code for the automated travis tests is stored here
|tools | there are some tools which help you for creating an initial configuration
|var | everything that is changed by smarthome is put here, e.g. logfiles, cache, sqlite database etc.

## Some more detailed info on the configuration files

### etc/smarthome.conf (deprecated) / etc/smarthome.yaml
Upon installation you will need to create this file and specify your location.
As of Version 1.5 the old conf format will still be valid but will be moved out of the docs since it's deprecated now for some time.

```
# smarthome.conf (deprecated)
# look e.g. at http://www.mapcoordinates.net/de
lat = 52.52
lon = 13.40
elev = 36
tz = 'Europe/Berlin'
```
### etc/smarthome.yaml
Upon installation you will need to create this file and specify your location.

```yaml
# smarthome.yaml
Expand All @@ -48,40 +43,12 @@ elev: 36
tz: Europe/Berlin
```
### etc/plugin.conf (deprecated) / etc/plugin.yaml
Upon installation you will need to create this file and configure the plugins and their attributes.
### etc/plugin.yaml
Upon installation you will need to create this file and configure the plugins and their attributes.
An example is shown below
```
[knx]
class_name = KNX
class_path = plugins.knx
host = 127.0.0.1
port = 6720
# send_time = 600 # update date/time every 600 seconds, default none
# time_ga = 1/1/1 # default none
# date_ga = 1/1/2 # default none
[ow]
class_name = OneWire
class_path = plugins.onewire
[visu]
class_name = WebSocket
class_path = plugins.visu_websocket
[smartvisu]
class_name = SmartVisu
class_path = plugins.visu_smartvisu
smartvisu_dir = /var/www/html/smartVISU
[cli]
class_name = CLI
class_path = plugins.cli
ip = 0.0.0.0
update = True
[sql]
class_name = SQL
class_path = plugins.sqlite
```

```yaml
# plugin.yaml
knx:
class_name: KNX
class_path: plugins.knx
Expand Down Expand Up @@ -115,16 +82,9 @@ sql:
class_path: plugins.sqlite
```
### etc/logic.conf (deprecated) / etc/logic.yaml
### etc/logic.yaml
In the logic.conf you specify your logics and when they will be run. An example is shown below
```
# etc/logic.conf (deprecated)
[AtSunset]
filename = sunset.py
crontab = sunset
```

```yaml
# etc/logic.yaml
AtSunset:
Expand All @@ -133,15 +93,9 @@ AtSunset:
```
### items/
This directory contains one or more item configuration files. The filename does not matter, except it has to end with '.conf'.
This directory contains one or more item configuration files.
The filename does not matter, except it has to end with '.yaml'.
```
# items/global.conf (deprecated)
[global]
[[sun]]
type = bool
attribute = foo
```
```yaml
# items/global.yaml
Expand All @@ -160,4 +114,3 @@ If you want to read an item call `sh.item.path()` or to set an item `sh.item.pat
if sh.global.sun(): # if sh.global.sun() == True:
sh.gloabl.sun(False) # set it to False
```
4 changes: 0 additions & 4 deletions bin/fetch_plugins.sh

This file was deleted.

69 changes: 69 additions & 0 deletions bin/locale.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
global_translations:
# Translations for the plugin specially for the web interface
'Ja': {'de': '=', 'en': 'Yes', 'fr': 'Qui'}
'Nein': {'de': '=', 'en': 'No', 'fr': 'Non'}
'Aktualisieren': {'de': '=', 'en': 'Update', 'fr': 'Recharger'}
'Schließen': {'de': '=', 'en': 'Close', 'fr': 'Fermer'}
'Aktiv': {'de': '=', 'en': 'Active', 'fr': 'Actif'}
'Gestoppt': {'de': '=', 'en': 'Stopped', 'fr': 'Arrêté'}
'aktiviert': {'de': '=', 'en': 'enabled'}
'deaktiviert': {'de': '=', 'en': 'disabled'}
'Benutzer': {'de': '=', 'en': 'User', 'fr': 'Utilisateur'}
'Passwort': {'de': '=', 'en': 'Password'}
'Verbunden': {'de': '=', 'en': 'Connected'}
'Laufzeit': {'de': '=', 'en': 'Uptime'}
'Firmware': {'de': '=', 'en': '=', 'fr': 'Micrologiciel'}
'Name': {'de': '=', 'en': '=', 'fr': 'Nom'}
'Version': {'de': '=', 'en': '=', 'fr': '='}

'Tag': {'de': '=', 'en': 'day', 'fr': 'jour'}
'Stunde': {'de': '=', 'en': 'hour', 'fr': 'heure'}
'Minute': {'de': '=', 'en': 'minute', 'fr': 'minute'}
'Sekunde': {'de': '=', 'en': 'second', 'fr': 'seconde'}
'Tage': {'de': '=', 'en': 'days', 'fr': 'jours'}
'Stunden': {'de': '=', 'en': 'hours', 'fr': 'heures'}
'Minuten': {'de': '=', 'en': 'minutes', 'fr': 'minutes'}
'Sekunden': {'de': '=', 'en': 'seconds', 'fr': 'secondes'}

'Host': {'de': '=', 'en': '=', 'fr': 'Hôte'}
'Port': {'de': '=', 'en': '=', 'fr': '='}
'IP': {'de': '=', 'en': '=', 'fr': '='}
'Instanz': {'de': '=', 'en': 'Instance', 'fr': '='}
'Protokoll': {'de': '=', 'en': 'Protocol', 'fr': 'Protocole'}
'Kanal': {'de': '=', 'en': 'Channel', 'fr': 'Canal'}
'Knoten': {'de': '=', 'en': 'Node', 'fr': 'noeud'}
'Funktion': {'de': '=', 'en': 'Function', 'fr': 'Fonction'}
'Browser': {'de': '=', 'en': '=', 'fr': 'Navigateur'}
'Adresse': {'de': '=', 'en': 'Address', 'fr': 'Adresse'}
'Gerät': {'de': '=', 'en': 'Device', 'fr': 'Appareil'}
'Geräte': {'de': '=', 'en': 'Devices', 'fr': 'Appareils'}

'Client': {'de': '=', 'en': '=', 'fr': ''}
'Clients': {'de': '=', 'en': '=', 'fr': ''}
'Status': {'de': '=', 'en': '=', 'fr': ''}

'Typ': {'de': '=', 'en': 'Type', 'fr': 'Type'}
'Wert': {'de': '=', 'en': 'Value', 'fr': 'Valeur'}

'Pfad': {'de': '=', 'en': 'Path', 'fr': ''}

'Dienst': {'de': '=', 'en': 'Service', 'fr': ''}
'Dienste': {'de': '=', 'en': 'Services', 'fr': ''}
'Item': {'de': '=', 'en': '=', 'fr': 'Objet'}
'Items': {'de': '=', 'en': '=', 'fr': 'Objets'}
'Logik': {'de': '=', 'en': 'Logic', 'fr': ''}
'Logiken': {'de': '=', 'en': 'Logics', 'fr': ''}
'Scheduler': {'de': '=', 'en': 'Scheduler', 'fr': ''}
'Scheduler (plural)': {'de': 'Scheduler', 'en': 'Schedulers', 'fr': ''}
'Plugin': {'de': '=', 'en': '=', 'fr': ''}
'Plugins': {'de': '=', 'en': '=', 'fr': ''}
'Szene': {'de': '=', 'en': 'Scene', 'fr': ''}
'Szenen': {'de': '=', 'en': 'Scenes', 'fr': ''}
'Thread': {'de': '=', 'en': '=', 'fr': ''}
'Threads': {'de': '=', 'en': '=', 'fr': ''}
'Logging': {'de': '=', 'en': '=', 'fr': ''}
'Urheberrechtshinweise': {'de': '=', 'en': 'Disclosure', 'fr': ''}

'Letztes Update': {'de': '=', 'en': 'Last Update', 'fr': ''}
'Letzter Change': {'de': '=', 'en': 'Last Change', 'fr': ''}

6 changes: 5 additions & 1 deletion bin/shngversion.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,12 @@
# Update auf 1.4a wg. Kennzeichnung des Stands als "nach dem v1.4 Release"
# Update auf 1.4b wg. Kennzeichnung des Stands als "nach dem v1.4.1 Release"
# Update auf 1.4.2
# Update auf 1.4c wg. Kennzeichnung des Stands als "nach dem v1.4.2 Release"
# Update auf 1.4d wg. SmartPlugin Anpassung (get_configname())"
# Update auf 1.4e wg. lib.item Anpassung (trigger_condition)"
# Update auf 1.5 wg. Release"

shNG_version = '1.4.2'
shNG_version = '1.5'

# ---------------------------------------------------------------------------------
FileBASE = None
Expand Down
Loading

0 comments on commit 0594062

Please sign in to comment.