Coder Social home page Coder Social logo

myne's Introduction

myne

ACHTUNG

Wir suchen Android-Entwickler, die Interesse haben, für myne eine Android-App zu entwickeln. Für Infos, mailt einfach kurz an [email protected].

Updaten

Wenn myne schon installiert habt, reicht es, die Sourcen zu updaten (git pull). myne wird merken, ob es Unterschiede in der Version der Sourcen und der Datenbank gibt und euch den Update aufrufen.

Idealerweise macht ihr natürlich vor jedem Update eine Sicherung eurer Datenbak & des Codes.

Installieren

Voraussetzungen

  • Webserver (Apache, nginx)
  • MySQL Server + fertige Datenbank (UTF-8)
  • curl & php5-curl
  • 433 MHz Gateway (ConnAir)
  • Für Tasks: eine Cron-Funktion auf dem Server

Download

cd /var/www
wget https://github.com/ayedoit/myne/archive/master.zip
unzip master.zip
mv myne-master myne

Oder

cd /var/www
git clone git://github.com/ayedoit/myne.git

Datenbank-Setup

Ihr müsst die Datenbank vorher anlegen (zB via phpmyadmin). Die Zugangsdaten zu eurer Datenbank müssen in /var/www/myne/myne/config/database.php eingetragen werden.

$db['default']['hostname'] = 'DB-HOST';
$db['default']['username'] = 'DB-USER';
$db['default']['password'] = 'DB-PASSWORT';
$db['default']['database'] = 'DB';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

Webserver-Setup

myne benutzt eine .htaccess Datei für das Rewriting der URLs. Damit diese funktioniert, muss im vHost folgendes angepasst werden:

Apache

<Directory /var/www/myne>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
</Directory>

Wichtig ist der Part "AllowOverride All".

Zusätzlich muss natürlich mod_rewrite aktiviert werden.

a2enmod rewrite
service apache2 restart

Beispiel vHost

vHost anlegen

cd /etc/init.d/apache2/sites-available
nano myne

vHost Config

<VirtualHost *:80>

        DocumentRoot /var/www/myne
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/myne>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/myne.error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/myne.access.log combined
</VirtualHost>

vHost aktivieren:

a2ensite myne
service apache2 restart

Der Installer

Wenn eure Datenbank-Zugangsdaten eingetragen sind und euer Webserver richtig konfiguriert ist (das überlasse ich mal jedem selbst, da man dafür kein Allgemeinrezept hierhin packen kann), dann ruft den Installer auf:

http://MYNE-HOST/installer

Dort müsst ihr eure Userdaten hinterlegen, für den Fall, dass ihr später myne mit Login benutzen wollt (bietet aktuell nur Schutz vor ungewolltem Zugriff - ACLs folgen später). Der Installer legt euch die nötigen Tabellen an.

Erste Schritte

Aktuell können nur Funksteckdosen auf 433 MHz Basis gesteuert werden. Die Steuerung von XBMC-Hosts ist zwar implementiert, braucht aber noch Feinschliff.

Daher würde es sich anbieten, eure ersten Schritte mit myne so zu beginnen:

  • Räume > Raum anlegen (jedes Gerät steht in einem Raum. Logisch, oder? Und ja - auch der Garten wäre hier ein Raum.)
  • Gateways > Gateway anlegen (Ohne Gateway - bzw. ohne ConnAir - könnt ihr die Funksteckdosen nicht steuern)
  • Geräte > Gerät anlegen

Ihr könnt Räume, Gruppen und Geräte auch im "Gerät anlegen" Dialog mitanlegen, wenn euch das einfacher erscheint.

WIP

  • Der übliche Feinschliff im Frontend

Bug-Reports & Feature-Requests

Bitte nutzt dafür die GitHub Issues. Sollte es wirklich dringend sein oder ihr Bock auf Fachsimpeleien habt, mailt mir an [email protected]

myne ist

ein Home Automation Gateway

myne ist ein Server der als Schnittstelle zwischen verschiedenen steuerbaren Geräten in deinem Haushalt dient. Grundsätzlich sind der Phantasie da keine Grenzen gesetzt - lediglich unserer Zeit und unseren Mitteln, alles mögliche auszuprobieren.

freie Open Source Software

Jeder Nerd da draußen möchte seine Elektrik fernsteuern können. Grundsätzlich kann das jeder. Aber die meisten "guten" und "einfachen" Lösungen (betrachten wir das mal als logisches AND) sind auch teuer und/oder proprietär.

Wir meinen: Das muss so nicht sein. myne bietet eine gute Basis, neue Module zu entwickeln und mehr und mehr Geräte und Gerätetypen steuern zu können. Mit eurer Hilfe sollte das möglich sein.

kein Cloud-Dienst

Zur Installation und Benutzung benötigst du zuhause einen Web- und einen MySQL-Server. Natürlich kannst du myne auch extern hosten, die Steuerung der Geräte in deinem Zuhause wird dann aber entsprechend komplex.

keine Standalone-Applikation

Man kann natürlich keine Software installieren und plötzlich alle Lichtschalter durch Magie am PC an- und ausschalten.

Du brauchst steuerbare Aktoren, wie z.B. Funksteckdosen für deine Elektrogeräte, Funkmodule für den Unterputz-Einbau oder die Steuerung von Rolläden.

Für die Steuerung von Funk-Geräten (433 MHz Devices) brauchst du ein Gateway. myne funktioniert hervorragend mit dem ConnAir.

Aktuell kannst du auch dein XBMC an- und ausschalten. Allerdings ist das noch WIP und nicht sehr zuverlässig. Wir arbeiten daran.

myne kann

  • Funksteckdosen
  • Funkschalter
  • Mediencenter-Software (z.B. XBMC)

von Herstellern wie z.B.

  • Intertechno
  • Elro
  • Brennenstuhl
  • Pollin
  • Dario (DMV-7008)
  • vermutlich vielen mehr - da ist es an euch, zu testen

eine offene API

Eine JSON-RPC API bildet jede Funktion des Backends transparent ab. Das bietet natürlich Möglichkeiten, eigene mobile Apps zu programmieren. Dokumentation folgt.

myne wird können

  • elektrischen Rolläden
  • Kameras
  • Bewegungssensoren
  • Wetterinformationen
  • Heizungsthermostate
  • WLAN Steckdosen

myne könnte

Vermutlich vieles. Theoretisch sind WeMos von Belkin steuerbar, ebenso Homematic Geräte und zahlreiche vorhandene WLAN Steckdosen-Aufsätze. Aktuell ist myne WIP und geht steil auf die erste Final zu. Wir versuchen möglichst viele Geräte in die Finger zu kriegen, um sie ins System zu bringen. Gebt uns Zeit. Oder macht es selbst.

Lizenz

myne ist unter der GNU GENERAL PUBLIC LICENSE v3 veröffentlicht. Wem das nichts sagt: [TL;DRLegal](http://www.tldrlegal.com/license/gnu-general-public-license-v3-(gpl-3)

Maintainer

Fabian Peter | ayedo IT Solutions

myne's People

Contributors

ayedoit avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.