+ Antworten
Seite 3 von 4 ErsteErste 1 2 3 4 LetzteLetzte
Ergebnis 21 bis 30 von 36

Thema: IPSLibrary

  1. #21
    Registriert seit
    Aug 2010
    Ort
    Österreich (Korneuburg)
    Beiträge
    4,312

    Standard Coding Guidelines

    Sinn und Zweck von Coding Guidelines sollten wohl allgemein bekannt sein
    Programmierstil

    Anbei einige Links zu PHP Projekten und deren Guidelines:
    PHP Coding Standard - Regeln und Empfehlungen
    PHP Coding Standard
    Manual :: Coding Standards
    http://www.buxaprojects.com/de/php_coding_guidelines.htm


    Bitte um aktive Diskussion, welche Coding Guidelines für IPS und das IPSLibrary Projekt wohl am praktikabelsten sind, insbesondere über folgende Punkte:
    • File Naming Conventions
    • Geschweifte Klammern (Allman-Stil oder nicht)
    • Kommentare in Englisch oder Deutsch
    • Dokumentation / Fileheader
    • Benennung von Variablen, Funktionen
    • Benennung von Konstanten


    Stand der Dinge
    Derzeitiges Naming von Dateien:
    .class.php für Dateien mit Klassen
    .inc.php für Dateien, die man inkludieren kann
    .ips.php für Dateien, die direkt von IPS getriggert werden (ActionScript, …)

    Geschweifte Klammern werden zur Zeit im Java/Linux Stil gesetzt
    Einrückungsstil

    Konstanten in Großbuchstaben
    Gruß
    Andreas

  2. #22
    Registriert seit
    Aug 2010
    Ort
    Österreich (Korneuburg)
    Beiträge
    4,312

    Standard Dokumentation

    Die Dokumentation unterteilt sich in folgende Kategorien
    • Wiki Artikel
    • Diskussions Thread im Forum
    • Source Code


    Zu den meisten Modulen ist ein WIKI Artikel vorhanden, wo folgende Dinge zu finden sind:
    • Allgemeine Funktionsbeschreibung des Modules
    • Übersicht zur Installation und Konfiguration
    • API Beschreibung
    • Beschreibung der Callback Funktionen
    • Screenshots


    Eine Übersicht über alle Wiki Artikel ist hier zu finden.

    Im Diskussions Thread ist eine kurz Vorstellung des Moduls zu finden, sowie diverse Posts zu Problemlösungen und Erweiterungen.

    Im SourceCode ist die „technische“ Dokumentation der Module zu finden, zur Formatierung wird Doxygen verwendet.
    Details zur Konfiguration bzw. die Beschreibung der Callback Funktionen befindet sich grossteils nur im Source Code.
    Geändert von Brownson (01.12.12 um 09:37 Uhr) Grund: Anpassung Wiki
    Gruß
    Andreas

  3. #23
    Registriert seit
    Aug 2010
    Ort
    Österreich (Korneuburg)
    Beiträge
    4,312

  4. #24
    Registriert seit
    Aug 2010
    Ort
    Österreich (Korneuburg)
    Beiträge
    4,312

    Standard Hinzufügen neuer Module:

    Als erstes stellt sich die Frage über die Art des Modules – handelt es sich um eine reine Hardware Anbindung oder um ein allgemeines Module, das eine allgemeine Aufgabe löst und mit verschiedenster Hardware kommunizieren kann.
    Je nach dem ist die Platzierung in der IPSLibrary zu wählen, eventuell sollte man auch über eine Aufteilung in Hardware und Module Teil nachdenken.

    Vor der Entwicklung/Implementierung eines neuen Modules wäre eine aktive Diskussion hier im Forum sicher wünschenswert, um möglichst viele Anforderungen bereits im Design zu berücksichtigen.
    Anbindung neuer Hardware sollte möglichst über IPSComponent/IPSMessageHandler erfolgen (siehe auch Post weiter oben).

    Um neue Hardware in bestehende Module zu integrieren, sollte es in Zukunft reichen, eine IPSComponent Klasse der jeweiligen Hardware zu implementieren

    Detailierter Installations Ablauf:

    Module gliedern sich in einen Installations- und einen Application Teil. Der Applikations Teil gliedert sich wiederum in Konfiguration, Daten und die eigenliche Programm Logik (das spiegelt sich auch in der verwendeten Struktur wieder.

    Die Installation wird mit dem IPSModuleManager gesteuert, dieser benötigt für die Installation eines Modules 3 Files:
    • DownloadList File, beinhaltet alle Dateien, die zur Installation eines Modules nötig sind.
    • Installations INI File, beinhaltet alle Parameter, die bei der Installation angepasst werden können (WebFront, Mobile …).
    • Installations Script File, dieses Script erledigt die eigentliche Installation (Anlegen der Variablen, Events, …).


    Nach dem Starten von LoadModule wird zuerst eine aktuelle Version des DownloadList Files geladen und danach alle darin aufgelisteten Files. Für alle aufgelisteten „Default“ Files wird beim erstmaligen Laden eine „Working Copy“ angelegt, die bei späteren Updates aber nicht mehr überschrieben wird.
    Beim erstmaligen Laden des Modules erfolgt auch die Registrierung der Scripts in der IP-Symcon Baum Struktur.

    Mit dem Starten von InstallModule wird das Installations Script ausgeführt. Dort wird als erstes die Version aller benötigten Sub-Module überprüft und danach startet die eigentliche Installation, die alle benötigten Objekte angelegt (Variablen, Events, ...).

    Ein Beispiel zur Entwicklung eines eigenen Modules ist im WIKI zu finden
    Geändert von Brownson (30.11.12 um 23:38 Uhr) Grund: Added WIKI
    Gruß
    Andreas

  5. #25
    Registriert seit
    Aug 2010
    Ort
    Österreich (Korneuburg)
    Beiträge
    4,312

    Standard Demo Installation:

    Da man die meisten Module auch ohne entsprechende Hardware betreiben kann, ist es möglich eine Demo Installation der IPSLibrary zu installieren und die Funktionen der diversen Module zu testen.

    Zu diesem Zweck liegen in den Example Verzeichnissen Konfigurations Files, die man benützen kann um ein Modul zu installieren.

    Zur Zeit sind folgende Module in der Demo Version enthalten:
    • IPSModuleManager
    • IPSModuleManagerGUI – WebFront Interface zu Installation und Update von Modulen
    • IPSLogging – Logging und Error Handler der IPSLibrary
    • IPSComponent – Hardware Abstraktions Layer der IPSLibrary
    • IPSMessageHandler – Rückmeldung der Hardware zu den Modulen
    • IPSShadowing – Beschattungssteuerung
    • IPSWatering – Bewässerungssteuerung
    • IPSLight – Lichtsteuerung
    • IPSMessageHandler – Rückmeldung der Hardware zu den Modulen
    • NetPlayer mit dem IPS eigenen MediaPlayer (Musik Verzeichnis muss danach noch gesetzt werden)
    • AudioMax – Ansteuerung des MultiRoom Systems von eServiceOnline
    • Entertainment Steuerung


    Der Code zur Installation der Demo Version ist im WIKI zu finden.

    Voraussetzung ist, dass das BaseLoader Script bereits ausgeführt wurde.

    Hinweis:
    Die Installation benötigt ungefähr 500 Variablen


    Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	IPSLibrary_DemoInstallation2.png 
Hits:	699 
Größe:	82.7 KB 
ID:	19366 Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	IPSLibrary_DemoInstallation3.png 
Hits:	571 
Größe:	77.1 KB 
ID:	19367 Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	IPSLibrary_DemoInstallation4.png 
Hits:	575 
Größe:	97.8 KB 
ID:	19368
    Geändert von Brownson (01.12.12 um 09:35 Uhr) Grund: Erweiterung Demo Installation
    Gruß
    Andreas

  6. #26
    Registriert seit
    Aug 2010
    Ort
    Österreich (Korneuburg)
    Beiträge
    4,312

    Standard Module Erweiterungen

    Module Erweiterungen 2012-02-10
    • Initialer Library Release 2.5 beta
    • Anpassung der Entertainment Steuerung an IPS 2.5
    • Verbesserte Installation des IPSLoggers (Autom. Installation InfoWidget und PHP-ErrorHandler )
    • Neues Module NetPlayer
    Gruß
    Andreas

  7. #27
    Registriert seit
    Aug 2010
    Ort
    Österreich (Korneuburg)
    Beiträge
    4,312

    Standard Erweiterungen 2012-02-17

    edit 2015-11-16
    Link zur Doku entfernt ...
    Geändert von Brownson (16.11.15 um 23:17 Uhr) Grund: Doku nicht mehr verfügbar
    Gruß
    Andreas

  8. #28
    Registriert seit
    Aug 2010
    Ort
    Österreich (Korneuburg)
    Beiträge
    4,312

    Standard Erweiterungen 2012-03-18

    Neue WIKI Artikel:


    IPSLibrary Release
    • IPSModuleManager - neue Funktion DeleteModule, ermöglicht die Deinstallation von Modulen
    • Doxygen Build File und Screenshots in die Library aufgenommen, bietet nun für jeden die Möglichkeit die Doku zu generieren


    Development Environments:
    Gruß
    Andreas

  9. #29
    Registriert seit
    Aug 2010
    Ort
    Österreich (Korneuburg)
    Beiträge
    4,312

    Standard Erweiterungen 2012-04-16

    Neue WIKI Artikel:


    IPSLibrary Release:
    • IPSModuleManger - diverse kleinere Bug Fixes
    • Alle Module im IPSLibrary Release supporten jetzt eine Deinstallation
    Gruß
    Andreas

  10. #30
    Registriert seit
    Aug 2010
    Ort
    Österreich (Korneuburg)
    Beiträge
    4,312

    Wir dürfen einen neuen IPSLibrary Entwickler begrüssen - Welcome MCS-51

    Development Repository:
    MCS-51 - Wecker/Zeitschaltuhr
    MCS-51 - Erweiterung von IPSEDIP

    Habe auch die Modul Übersicht mal auf den aktuellsten Stand gebracht und mit den zugehörigen Threads im Forum verlinkt.
    Gruß
    Andreas

Ähnliche Themen

  1. Diskussions Thread zur IPSLibrary
    Von Brownson im Forum IPSLibrary
    Antworten: 216
    Letzter Beitrag: 16.06.19, 18:28