Skip to content

Commit

Permalink
renaming, logo
Browse files Browse the repository at this point in the history
  • Loading branch information
hobbyquaker committed May 31, 2018
1 parent 6625073 commit ef57dce
Show file tree
Hide file tree
Showing 10 changed files with 56 additions and 55 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,4 @@ deploy:
skip_cleanup: true
after_deploy:
- gem install octokit
- ./github_release.rb -s $GITHUB_OAUTH_TOKEN -r hobbyquaker/ccu-addon-node-red -c CHANGELOG.md -t v$VERSION_ADDON+$TRAVIS_BUILD_NUMBER
- ./github_release.rb -s $GITHUB_OAUTH_TOKEN -r hobbyquaker/RedMatic -c CHANGELOG.md -t v$VERSION_ADDON+$TRAVIS_BUILD_NUMBER
84 changes: 39 additions & 45 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,34 @@
# ccu-addon-node-red

[![Build Status](https://travis-ci.org/hobbyquaker/ccu-addon-node-red.svg?branch=master)](https://travis-ci.org/hobbyquaker/ccu-addon-node-red)
[![Current Release](https://img.shields.io/github/release/hobbyquaker/ccu-addon-node-red.svg)](https://github.com/hobbyquaker/ccu-addon-node-red/releases/latest)
[![Total Downloads](https://img.shields.io/github/downloads/hobbyquaker/ccu-addon-node-red/total.svg)]()
# RedMatic
<img src="assets/logo-256.png" align="left"/>

> Node-RED als Addon für die Homematic CCU3 und RaspberryMatic
## Was ist Node-RED?

[Node-RED](https://nodered.org/about/) ist eine Nachrichtenflussbasierte, visuelle Programmierumgebung für das Internet
der Dinge.
Node-RED wird seit 2013 von [IBM Emerging Technology](https://emerging-technology.co.uk/technologies/)
entwickelt und steht als kostenlose Open Source Software unter dem Dach der [JS Foundation](https://js.foundation/) zur
Verfügung. Node-RED kann durch zusätzliche [Node(-Sammlungen)](https://flows.nodered.org) erweitert werden, eine große
und aktive Community hat Stand Heute bereits weit über 1000 Nodes entwickelt.

Siehe auch:
* https://entwickler.de/online/iot/node-red-iot-prototypen-2-579809637.html
* https://jaxenter.de/baukasten-fuer-das-internet-dinge-13532

[![Current Release](https://img.shields.io/github/release/hobbyquaker/ccu-addon-node-red.svg)](https://github.com/hobbyquaker/ccu-addon-node-red/releases/latest)
[![Build Status](https://travis-ci.org/hobbyquaker/ccu-addon-node-red.svg?branch=master)](https://travis-ci.org/hobbyquaker/ccu-addon-node-red)
[![Total Downloads](https://img.shields.io/github/downloads/hobbyquaker/ccu-addon-node-red/total.svg)]()

## Wofür?
<br><br><br>

Mit diesem Node-RED Addon ist es auf einfache und komfortable Weise möglich Regeln, Automationen, Scripte und
Anbindungen von externen Services und Systemen für ein Homematic System zu realisieren - ohne die Notwendigkeit neben
der CCU einen weiteren 24/7 laufenden Server zu betreiben - und weitestgehend ohne Programmierkenntnisse.
Mit [Node-RED](https://nodered.org/about/) und den
[CCU Nodes für Node-RED](https://github.com/hobbyquaker/node-red-contrib-ccu) ist es auf einfache und komfortable Weise
möglich Regeln, Automationen, Scripte und Anbindungen von externen Services und Systemen für ein Homematic System zu
realisieren - und das weitgehend auch ohne Programmierkenntnisse. Die Node-RED Erweiterung
[Node-RED Dashboard](https://github.com/node-red/node-red-dashboard) ermöglcht es zudem individuelle und ansprechende
User Interfaces zu erstellen.

Darüber hinaus beinhaltet dieses Addon auch [Node-RED Dashboard](https://github.com/node-red/node-red-dashboard) womit
webbasierte User Interfaces erstellt werden können.
_RedMatic_ fasst diese verschiedenen Softwarekomponenten und das zur Ausführung benötigte Node.js zu einem CCU Addon
zusammen, einem Softwarepaket, dass auf einer CCU3 und RaspberryMatic als Zusatzsoftware über das WebUI installiert
werden kann. Hiermit bieten sich dann oben genannte Möglichkeiten - ohne die Notwendigkeit neben der CCU einen
weiteren 24/7 laufenden Server zu betreiben.

Zur Anbindung an die Schnittstellenprozesse und die Logikschicht der
CCU ist [node-red-contrib-ccu](https://github.com/hobbyquaker/node-red-contrib-ccu) im Addon enthalten.
_RedMatic_ ist __nur für die CCU3 und RaspberryMatic geeignet__. Auf einer CCU1/CCU2 kann es aufgrund der CPU und
des verfügbaren RAM nicht verwendet werden.


## Download

Unter [Releases](https://github.com/hobbyquaker/ccu-addon-node-red/releases) ist das Addon Paket zum Download verfügbar.
Unter [Releases](https://github.com/hobbyquaker/RedMatic/releases) steht das Addon Paket zum Download verfügbar.


## Schnellstart
Expand All @@ -45,32 +38,33 @@ Reboot der CCU ist Node-RED unter `http://<ccu-addresse>/addons/red` erreichbar.
einfaches Dashboard sind bereits vorkonfiguriert, das Dashboard ist unter `http://<ccu-addresse>/addons/red/ui`
erreichbar.

* __Sicherheitswarnung__: Node-RED ist per default (noch) ohne Authentifizierung ereichbar. Wer den Webserver der CCU
erreichen kann hat vollen Zugriff auf Node-RED, es erfolgt __keine Passwortabfrage__. Bis in einer späteren Version eine
Authentifizierung an der CCU-Logikschicht implementiert ist gibt es einen
[möglichen Workaround](https://github.com/hobbyquaker/ccu-addon-node-red/wiki/Passwort) um manuell einen Passwortschutz
einzurichten.


## Dokumentation

Die Dokumentation der CCU Nodes ist in Node-RED selbst verfügbar. Beispielflows sind im
[Wiki](https://github.com/hobbyquaker/ccu-addon-node-red/wiki/Flows) zu finden.
[Wiki](https://github.com/hobbyquaker/ccu-addon-node-red/wiki)

Zu Node-RED im allgemeinen gibt es unzählige Tutorials, Dokumentationen, Bücher und Youtube Videos, auch in Deutscher
Sprache.

## Weitere Infos zu Node-RED

[Node-RED](https://nodered.org/about/) ist eine Nachrichtenflussbasierte, visuelle Programmierumgebung für das Internet
der Dinge.
Node-RED wird seit 2013 von [IBM Emerging Technology](https://emerging-technology.co.uk/technologies/)
entwickelt und steht als kostenlose Open Source Software unter dem Dach der [JS Foundation](https://js.foundation/) zur
Verfügung. Node-RED kann durch zusätzliche [Node(-Sammlungen)](https://flows.nodered.org) erweitert werden, eine große
und aktive Community hat Stand Heute bereits weit über 1000 Nodes entwickelt.

## Hinweise
Siehe auch:
* https://entwickler.de/online/iot/node-red-iot-prototypen-2-579809637.html
* https://jaxenter.de/baukasten-fuer-das-internet-dinge-13532

* __Sicherheitswarnung__: Node-RED ist (noch) ohne Authentifizierung ereichbar. Wer den Webserver der CCU erreichen
kann hat vollen Zugriff auf Node-RED, es erfolgt __keine Passwortabfrage__. Bis in einer späteren Version eine
Authentifizierung an der CCU-Logikschicht implementiert ist gibt es einen
[möglichen Workaround](https://github.com/hobbyquaker/ccu-addon-node-red/wiki/Passwort) um manuell einen Passwortschutz
einzurichten.
* __Work in Progress!__ Dieses Addon sowie node-red-contrib-ccu sind __noch nicht wirklich fertig__, kaum getestet,
es ist davon auszugehen dass noch __viele Bugs__ gefixt werden müssen, es sind noch nicht alle geplanten Features
implementiert... Sobald ein Stand erreicht ist der als "feature-complete", gut getestet und anständig dokumentiert
durchgeht wird die Versionsnummer auf 1.0 erhöht.
* Dieses Addon ist __nur für die CCU3 und RaspberryMatic geeignet__. Auf einer CCU1/CCU2 kann es aufgrund der CPU und
des verfügbaren RAM nicht verwendet werden.
* __Nicht alle verfügbaren Node-RED Nodes können__ im Node-RED Admin UI über "Manage palette" __installiert werden__.
Die Installation von Addons die Binärmodule compilieren müssen ist nicht möglich. Das betrifft u.A. Nodes die Zugriff
auf Hardware benötigen (z.B. Bluetooth).
Zu Node-RED im allgemeinen gibt es unzählige Tutorials, Dokumentationen, Bücher und Youtube Videos, auch in Deutscher
Sprache.


## Support, Mitarbeit
Expand Down
6 changes: 4 additions & 2 deletions addon_files/node-red/lighttpd.conf
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
$HTTP["url"] =~ "^/(addons/red).*" {
proxy.server = ("/addons/red" => (( "host" => "127.0.0.1", "port" => 1880 )))
url.redirect = ("^/addons/red$" => "/addons/red/")

$HTTP["url"] =~ "^/(addons/red/).*" {
proxy.server = ("/addons/red/" => (( "host" => "127.0.0.1", "port" => 1880 )))
proxy.header = ( "upgrade" => "enable")
server.errorfile-prefix = "/usr/local/addons/node-red/lighttpd-error-"
}
11 changes: 6 additions & 5 deletions addon_files/node-red/node-red
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

CONF_DIR=/usr/local/etc/config
ADDON_DIR=/usr/local/addons/node-red
WWW_DIR=/usr/local/etc/config/addons/www/redmatic

NODE=$ADDON_DIR/bin/node

Expand Down Expand Up @@ -56,16 +57,15 @@ case "$1" in

info)
source $ADDON_DIR/versions
echo "Info: <b>Node-RED CCU Addon</b><br>"
echo "Info: <a href="https://github.com/hobbyquaker/RedMatic"><img src="/addons/redmatic/logo-w-200.png" align="right"/></a>"
echo "Info: <table><tr><td>Node.js</td><td>$NODE_VERSION</td></tr>"
echo "Info: <tr><td>npm</td><td>$VERSION_npm</td></tr>"
echo "Info: <tr><td>Node-RED</td><td>$VERSION_nodered</td></tr>"
echo "Info: <tr><td>Node-RED Dashboard</td><td>$VERSION_nodereddashboard</td></tr>"
echo "Info: <tr><td>node-red-contrib-ccu</td><td>$VERSION_noderedcontribccu</td></tr></table>"
echo "Info: <ul><li><a href="https://github.com/hobbyquaker/ccu-addon-node-red">ccu-addon-node-red on Github</a></li></ul>"
echo "Name: Node-RED"
echo "Name: RedMatic"
echo "Version: $VERSION_ADDON"
echo "Update: /addons/check_update_node_red.cgi"
echo "Update: /addons/redmatic/update_check.cgi"
echo "Operations: restart uninstall"
;;

Expand All @@ -74,9 +74,10 @@ case "$1" in
$ADDON_DIR/update_addon node-red
$ADDON_DIR/update_addon node-red-dashboard
rm -r $ADDON_DIR
rm -r $WWW_DIR
rm $CONF_DIR/addons/www/check_update_node_red.cgi
rm $CONF_DIR/lighttpd/node-red.conf
rm $CONF_DIR/rc.d/node-red
rm /usr/local/etc/config/addons/www/check_update_node_red.cgi
;;

*)
Expand Down
5 changes: 4 additions & 1 deletion addon_files/update_script
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,15 @@
ADDONS_DIR=/usr/local/addons
RED_DIR=$ADDONS_DIR/node-red
CONF_DIR=/usr/local/etc/config
WWW_DIR=$CONF_DIR/addons/www/redmatic

mount | grep /usr/local 2>&1 >/dev/null
if [ $? -eq 1 ]; then
mount /usr/local
fi

mkdir -p $ADDONS_DIR && chmod 755 $ADDONS_DIR
mkdir -p $WWW_DIR && chmod 755 $WWW_DIR

if [ -f $CONF_DIR/rc.d/node-red ]; then
$CONF_DIR/rc.d/node-red stop
Expand All @@ -31,7 +33,8 @@ if [ ! -f $RED_DIR/var/flows.json ]; then
mv $RED_DIR/var/example-flows.json $RED_DIR/var/flows.json
fi

ln -s $RED_DIR/update_check.tcl /usr/local/etc/config/addons/www/check_update_node_red.cgi
ln -s $RED_DIR/update_check.tcl $WWW_DIR/update_check.cgi
ln -s $RED_DIR/logo-w-200.png $WWW_DIR/logo-w-200.png

touch $CONF_DIR/hm_addons.cfg

Expand Down
Binary file added assets/logo-512.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/logo-r-256.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/logo-r-512.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/logo-w-400.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 2 additions & 1 deletion build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ mv $ADDON_TMP/node-red/LICENSE $ADDON_TMP/node-red/LICENSE_Nodejs

echo "copying files to tmp dir..."
cp -r $ADDON_FILES/* $ADDON_TMP/
cp $BUILD_DIR/assets/logo-w-200.png $ADDON_TMP/node-red/


echo "installing node modules..."
Expand Down Expand Up @@ -108,7 +109,7 @@ git log `git describe --tags --abbrev=0`..HEAD --pretty=format:'* %h @%an %s' >>


echo "compressing addon package $ADDON_FILE ..."
ADDON_FILE=ccu-addon-node-red-$VERSION_ADDON.tar.gz
ADDON_FILE=redmatic-$VERSION_ADDON.tar.gz
mkdir $BUILD_DIR/dist 2> /dev/null
cd $ADDON_TMP
tar --exclude=.DS_Store -czf $BUILD_DIR/dist/$ADDON_FILE *
Expand Down

0 comments on commit ef57dce

Please sign in to comment.