Fehlende Dokumentation vieler Funktionen

Hallo!

Ich möchte mir eine kleine PHP Applikation entwickeln, mit der ich meine Devices komfortabel über eine Datenbank konfigurieren und auch mit Steuerungen belegen kann.

Einige Funktionen wie zum Beispiel „IPS_GetModuleInfo“ scheinen hier eventuell gute Dienste zu leisten. - Unverständlicherweise sind diese allerdings Syntaxmässig nirgendwo erklärt? Welche Arrays werden hier geliefert, welche Syntax muß ich hier anwenden?

ipsymcon scheint sicher eine gute Basis darzustellen, aber die schlechte Dokumentation macht es einem Entwickler nicht gerade leicht. Ist hier Besserung in Sicht? So geht leider unnötigerweise viel Zeit verloren.

Grüße,
Wolfgang

Hallo Wolfgang,

schau Dir einfach mal WIIPS an, da wirst Du mit Sicherheit fuendig.

Gruss Torro

Hallo Torro,

habe ich. Allerdings tue ich mich extrem schwer den Code zu lesen und mir die notwendigen Informationen aus irgendwelchen includes, etc. zusammenzusuchen. Es kann ja auch nicht Sinn einer Programmierumgebung sein, dass ich mir Strukturen von irgendwelchen hinterlegten Arrays erst mühseeligst aus anderen Programmen rauslesen muss.

Würde mir hier schon eine vernünftige Doku erwarten, wo das alles ordentlich erklärt ist. So schreckt mich das doch ziemlich ab. Meiner Meinung nach kann ein Programmcode nur als Ergänzung zur Syntaxbeschreibung dienen um die Anwendung zu veranschaulichen, aber ist nicht wirklich zur Dokumentation geeignet.

Viele Grüße,
Wolfgang

Hallo Wolfgang,

da hast Du aber jetzt etwas falsch verstanden. Der Programmcode soll nicht zur Dokumentation dienen, Du kannst aber mit einfachen Mitteln die Befehle, die Du brauchst und wissen willst, dort entnehmen. WIIPS ist eine Anwendung fuer IPS User von IPS-Usern.

Gruss Torro

Hallo Torro,

mir ist schon klar, dass ich mir das aus dem Programmcode aufwendig irgendwie rauslesen kann, nur effizient ist das halt auf keinen Fall, da ich mir alles mühseelig zusammensuchen muß. So kann man nicht effizient Software entwickeln.

Ich würde mir halt eine Erklärung wünschen, was sich hinter dem Array von IPS_GetModuleInfo verbirgt. Dass es da ‚name‘ und ‚location‘ gibt habe ich herausgefunden, aber was noch? Wo bekomme ich zbsp. den Modul-Type (Device, etc.) her? Auch im Forum gibt es dazu keine Informationen.

Warum ist das nicht dokumentiert?

Grüße,
Wolfgang

Weil die Funktion nicht unbedingt für jedermann geeignet ist und wir dafür auch keine Kompatibilität (bzgl Syntax/Rückgabewert) für neuere Versionen garantieren wollen.

paresy

Schade, scheint dann wohl für Entwickler besser zu sein, die Finger von dem Produkt lassen, um nicht unnötig Zeit darin zu versenken? Muß mir mein Projekt angesichts dieser Aussichten wohl nochmal gut durch den Kopf gehen lassen.

Wolfgang

Hallo Wolfgang,

ich denke ich sollte hier mal eine Lanze für das IPS Team brechen.
Paresy hat sich sicherlich ein wenig unglücklich ausgedrückt, aber er währe der letzte der Dir nicht helfen würde, eine direkte e-mail an den Admin und Du bekommst sicherlich das was Du willst.
Man sollte halt auch mal den Preis des Produktes, den Zeitaufwand für Doku/Entwicklung in Relation zum Enwicklungsteam sehen.
Wir sind eine Gemeinschaft und Du bist hier auf dem richtigen Weg wenn Du ein Projekt möchtest. :wink:

MfG Thomas

Ich habe mich wahrscheinlich ein wenig schlecht ausgedrückt. Wir sind zur Zeit an der Version 2.0 dran. Diese wird einige/viele Änderungen an den IPS_* Funktionen beinhalten. Deshalb lohnt es sich nicht mehr die alten IPS_* Funktionen genauer zu Dokumentieren. Ob die LowLevel Funktionen alle für die neue Version Dokumentiert werden, ist noch unklar. Angesichts der Tatsache, dass du der zweite (WIIPS ist der erste Anwendungsfall) von allen Kunden bist, der diese Funktion benutzt.

Einige Funktionen wie zum Beispiel „IPS_GetModuleInfo“ scheinen hier eventuell gute Dienste zu leisten. - Unverständlicherweise sind diese allerdings Syntaxmässig nirgendwo erklärt? Welche Arrays werden hier geliefert, welche Syntax muß ich hier anwenden?

CTRL + SPACE im Script Editor gibt immer viele Hinweise. Bei Array Typen hilft ein print_r.

Hier ein Beispiel.


print_r(IPS_GetModuleInfo("{3CFF0FD9-E306-41DB-9B5A-9D06D38576C3}"));

Das Array ist eigentlich selbsterklärend. Bei bestimmten Fragen, einfach direkt hier Fragen und wir bemühen uns um eine Antwort.

paresy

Hallo Leute,

ich werde dann wohl am Besten die V2 abwarten und schauen was sich da dann geändert hat. Danke für den Hinweis mit print_r, ich hoffe mit dem komme ich schon mal etwas weiter.

Ich bin halt leider nur Gelegenheitsprogrammierer und tue mich etwas schwer die WIIPS Sourcen zu analysieren. Mit den ganzen strukturierten Klassen bin ich noch nicht so auf Tuchfühlung und es ist jedesmal wieder ein Kampf. (Der WIIPS Code ist allerdings für mein Empfinden erste Sahne, da kann ich viel lernen) Nachdem ich nächstes Jahr aber mein komplettes Haus mit xComfort ausrüsten möchte (zuerst muss es aber eh erstmal gebaut werden :)), brauche ich eine übersichtliche Oberfläche wo ich das alles schön verwalten kann. Weiß zwar noch nicht, ob ich das programmiermässig schaffe, aber ich würde mir sowas in der Art vorstellen:

In einer MySQL-DB habe ich meine ganzen TX/RX-Devices liegen (die von ipsymcon importiert werden). Zu jedem Device kann über ein Webformular definiert werden, was es ist. - Licht (an/aus, dimmbar), Rollladen/Jalousie, PIRI etc. Weiters soll man für das Haus verschiedene Zustände definieren können. Zbsp: Arbeitstag, Urlaub/Feiertag, Besuch/Party, …

Danach würde ich gerne Regeln für jedes definierte Device erstellen können. Quasi eine Maske wo man zBsp. folgende Regeln konfiguriert werden, welche von einer Schleife immer überprüft werden, ob sie gerade zutreffen. Für jedes Device sollen beliebig viele Regeln erstellt werden können.
Zbsp.
*) Überprüfung auf Wochentag, - für jeden Tag soll man ein Häkchen setzen können, ob die Regel für den Durchlauf zutrifft (zbsp. Mo., Di., … So.)
*) Uhrzeit zwischen xx:xx und xx:xx
*) Haus im Zustand (Arbeitstag, Urlaub/Feiertag, Besuch/Party, egal, …)
*) Sonneneinstrahlung (größer oder kleiner Wert x) - bekomme ich von meiner Wetterstation geliefert
*) Aussen-/Innentemperatur (< > Wert x)
*) Tag / Nacht
*) Bewegungssensor x aktiv?
*) Schalter x gedrückt?
*) => Ist die Regel erfüllt, sollen dann auszuwählende Subroutinen aufgerufen werden , (Rollladenscript, Lichtscript, irgendeinscript, …)

Ich könnte mir vorstellen, dass, wenn das alles in einer DB hinterlegt ist, das ganze übersichtlich zu gestalten sein könnte. - Auch ein Laie könnte sich so eine komplexe Haussteuerung aufbauen ohne sich mit PHP auseinandersetzen zu müssen. Wenn das ganze dann noch DB-mässig kompatibel mit ipshomecontrol ist, hätte man noch einen weiteren Synergieffekt. Was haltet ihr von der Idee? - Oder gibt es sowas in der Art eh schon irgendwo und ich hab’s nicht entdeckt?

Viele Grüße,
Wolfgang

Hallo Wolfgang,

als Gelegenheitsprogrammierer wirst Du Dich da mit dem Projekt uebernehmen. Wenn ich bedenke, dass allein die beiden neuen WIIPS Module, welche in Kuerze erscheinen sollen, fuer Zeit in Anspruch nehmen…

Und noch etwas: Wenn Dein Haus erst gebaut wird, empfehle ich Dir dringends, Deine Hausautomation nicht funkbasierend, sondern kabelbasierend aufzubauen. Du wirst es uns danken, glaube mir!

Gruss Torro

Hallo Torro,

naja, ich werds zumindest mal versuchen, habe schon einige erfolgreiche Projekte mit PHP realisiert unter anderem auch ein CMS System und einiges anderes. Also ich denke mal zum Laufen werde ich es vermutlich bringen. Meinen Lebensunterhalt verdiene ich halt mit anderen Dingen. :wink:

Kabel ist Kabel, das ist klar, aber ich fürchte auch um einiges teurer? Wo siehst du die Probleme bei xComfort? - Angeblich soll das System schon recht stabil laufen? Mein Elektriker meinte auch, dass sie zwar noch keine komplette Hausinstallationen damit gemacht haben, sondern nur Teilbereiche, (hier sogar in Industriebetrieben, wo vermutlich erhöhter Elektrosmog vorhanden ist). Die laufen aber alle ohne Probleme.

Wo wäre Nutzen/Kosten/Komfort/Zuverlässigkeit sonst am höchsten? EIB wirds sicher nicht, da zu teuer.

Grüße,
Wolfgang

andersrum wird ein Schuh draus…

Sicherlich kostet eine Wago erstmal 500 bis 600 Euro. Aber dann kommt 100m Kabel nurnoch 25 Euro.

Jeder Funksender (Schalter) und jeder Funkempfänger (Lampe) kommen locker mal eben 50 Euro. Im Falle von XComfort auch gerne mal 70 oder 80. Dann wären vielleicht allein für dein Wohnzimmer schon Kosten zu veranschlagen was mein ganzes Wago-Haus kosten würde. Und im Falle LCN (dringend informieren) ist der Preis sicherlich mit guten Funkvarianten vergleichbar. Aber eben Kabel mit all seinen vorteilen.

XComfort ist sicherlich ein Paradefunker. Mir sind keine Schwächen, bis auf den Preis, bekannt. Aber da hast du dir auch das teuerste Produkt ausgesucht. Wenn du die Möglichkeit hast Kabel zu legen, dann tu es. Vielleicht auch nur auf Vorrat. Irgendwann kotzt es dich an, dass du für jede Lampe, Jedes Rollo, jedes Nachtlicht erstmal 100 Euro Funkequipment kaufen musst.

Nur meine Meinung: Wer ernsthaft über KNX und EIB nachdenkt für den spielt der Preis wahrscheinlich eh eine untergeordnete Rolle.

wo vermutlich erhöhter Elektrosmog vorhanden ist

Uuuuhhhh… Da war wieder dieses Wort…

Menschen, die auf elektromagnische Strahlung unverträglich reagieren stören nicht. Der Funkkopfhörer deines Nachbarn unter Umständen aber schon. Das hängt mit der spezifischen Frequenz zusammen. Die Industrie verwendet keine solchen Funkkopfhörer-Frequenzen weil sie es sich nicht leisten könnte wenn ihr System wegen eines in der Nachbarschaft betriebenen Babyfons nicht mehr läuft. Die Gesetzgebung hat der Industrie darum eigene Frequenzen zugeteilt. Diesen Luxus haben Du und Ich mit unserem „Allerweltsfunk“ nicht.

Gruß,

Toni

Hallo Toni,

Wago? - Kenne ich bis dato nicht. - Wie ist hier die Schnittstelle zu ipsymcon realisiert? Läuft dort die Verkabelung sternförmig zu einem Stockwerksverteiler und von dort wieder die ganzen Stromleitungen zu den Lampen/Rollläden etc.?

Evtl. wäre auch noch 1-Wire interessant, wobei mir hier nicht klar ist, inwieweit dieses System Zukunft hat. Bekomme ich da in 20 Jahren noch Komponenten nach, oder muß ich mir dann andere Lösungen überlegen? Gibt es irgendwo gute Dokumentation zu 1-Wire? - Wie wird zum Beispiel eine Steuerung von 19 Rollläden realisiert?

Ja die Aktoren sind nicht ganz billig, allerdings erspare ich mir auch wiederum eine Menge Stemmerei und Kabelverlegerei?

Menschen, die auf elektromagnische Strahlung unverträglich reagieren stören nicht. Der Funkkopfhörer deines Nachbarn unter Umständen aber schon.

Ich will ja nicht hoffen, dass mein Nachbar einen Funkkopfhörer mit Nachbrenner verwendet, der über den ganzen Frequenzbereich streut und zu Störungen führen kann. Genaugenommen dürfen ja in dem Frequenzband von xComfort nur kurze Datenpakete übermittelt werden. Sollte es wirklich ein Problem geben wäre das wohl ein Fall für die Funküberwachungsbehörde.

Grüße,
Wolfgang

Ja. Sagt dir der Begriff SPS was? Google mal nach WAGO IO 750. Die Anbindung an IPS erfolgt über LAN.

Ist dein Geld. Aber stemmen tust du nur einmal. Funkkomponenten kaufst/tauscht/erneuerst/reklamierst/updatest/programmierst/Batterienwechselst du dein Leben lang.

Kommt drauf wie weit dein Nachbar weg ist. Es kann aber durchaus auch das DECT Telefon sein oder das WLAN. Auch dein eigenes ;). Die haben eine vollkommen andere Frequenz und können - nicht müssen - dennoch stören. Das Phänomen schimpft sich Harmonische Oberwelle

Ach… Das ist Theorie…

Die Frequenzen belegen alle im selben Bereich. Nehmen wir den schlimmsten: 868Mhz. Proppevoll… Dort sind die verschiedenen Bänder alle nur Null Komma Irgendwas MHz auseinander. Wenn du wegen jedem Unsinn die Regulierungsbehörde anhauen willst hast du sie irgendwann ständig bei dir zuhause. Und wenn etwas stört obwohl alle Richtlinien eingehalten werden gehen sie wieder ;). Es reicht schon eine hohe Fertigungstoleranz eines Elkos in einem Kopfhörer/Babyfon/Schnurlostelefon/WLAN oder sein vorprogrammierter Kapazitätsverlust bei zunehmendem Alter. Wenn der „Äther“ dicht ist ist er dicht. Da hilfts auch nix wenn wenn die Frequenz um Null Komma daneben liegt.

Funk ist nunmal anfällig. Niemand kann vorhersagen was passieren wird. Das ist so. Das heisst aber auch nicht, dass nicht hunderte von Leuten auch mit den ganz billigen Funklösungen zufrieden geworden sind. Du darfst nur keine Wunder erwarten oder musst den Preis dafür in Kauf nehmen. Ich bin Kabel-Fan und steh dazu. Ich will aber niemandem meine Meinung aufzwängen.

Toni

Hallo Toni,

danke für deine Info!

SPS assoziere ich mit komplizierten Siemens Steuerungen, mußte sowas mal vor Ewigkeiten in der Schule programmieren. Da ist nichts mehr hängengeblieben. Die grauen Zellen meines Unterbewusstseins versuchen hier aber die Nackenhaare anzusteuern :slight_smile:

Wie würde zum Beispiel die Ansteuerung von Rollläden oder auch Licht mit so einer IO 750 aussehen? - Die IO 750 hängt an einem 10/100 Mbit Hub und kommuniziert über welche Kommandos mit ipsymcon? - Konnte hier in der Befehlsliste, bzw. den Unterstützten Geräten nichts finden, - habe ich da was überlesen?

Danach geht von der IO 750 zu jedem Rollladen eine 220V Leitung zu den jeweiligen Motoren / Lampen? Wieviele Geräte kann man mit so einer 750er ansteuern oder ist das 750er nur mal die Kommunikationseinheit wo ich dann weitere Module drannklemmen kann? - Gibts evtl. irgendwo ein Verdrahtungsschema, dass ich mir das als Nichtelektriker mal veranschaulichen könnte?

Danke,
Wolfgang

Im Prinzip funktioniert IPS genau so, nur ohne Datenbank. Solange Dein Haus kein Büroturm mit > 100 Aktoren/Sensoren ist, geht das auch ganz easy.

Der Unterschied ist halt, dass ich mit PHP schon vertraut bin, das auch beruflich immer wieder mal brauche und schnell was machen kann, inkl. Webservoberfläche etc. IPS wäre halt komplettes Neuland, welches zwar vermutlich auch zu lernen ist, aber wenn man es dann jahrelang nicht braucht, jede kleine Programmroutine wieder neu erlernt werden müsste. Vor allem habe ich schon viele andere Messdaten in MySQL am PC, welche ich dann direkt für die Steuerung gewisser Funktionen verwenden könnte.

Wenn ich das IO-750 nur als Schnittstelle zum PC verwenden bräuchte und die Programmierung mit ipsymcon machen könnte wäre das natürlich eine interessante Alternative zu xComfort?

Grüße,
Wolfgang

So siehts aus. Ist nur eine Schnittstelle wie der paralelport auch. Es gibt die mit eingebauter Intelligenz (also SPS) oder ohne. Die 750-342 (glaub ich - Kann mir die nummern immer nicht merken) ist die einfache ohne Intelligenz, die man auch nicht programmieren kann/muss. Die SPS, also die, die man programmieren kann, heisst 750-8Irgendwas. In diesem Fall ist das also unser „Host“. Da klemmst du die ganzen Module dran. Je nachdem was du brauchst.

Die einzelnen Module kannst du dann zum Beispiel einzeln oder im „Rudel“ mit Einsen und Nullen beschreiben was den Status des Ausgangs am jeweiligen Modul wiederspiegelt. Also Ein oder Aus. Oder du übergibst einem Modul einen Wert, der dann über ein Schnittstellenmodul einen Standarddimmer ansteuerst.

Programmiern tust du dann weiter in PHP:


MBT_WriteCoil($WohnzimmerLampe, TRUE);  // schalten wenn es ein digitalausgang ist
MBT_WriteRegisterWord($WohnzimmerLampe, 0-32764)  // dimmen wenn es ein dimmer ist

Alles was mit MBT_ anfängt ist für diese Dinger.

Die ganze Technik befindet sich in einem Verteilerkasten auf einer Hutschiene.

Toni

Hallo Toni,

Ich hab jetzt mal ein bisschen gestöbert und unter http://www.wago.com/cps/rde/xchg/SID-53EFFEF9-682C660F/wago/style.xsl/deu_2078.htm ein Starterkit gefunden. - Lt. Nummer ist das mit der SPS. Wäre das eventuell zum experimentieren ein guter Start?

Muss ich dann in dem Fall die SPS auch verwenden, oder kann ich hier auch ohne irgendwas aufwendig vorzukonfigurieren mit PHP drauffahren? Evtl. würde ich dann schon in Richtung SPS-fähig denken, die SPS-Funktionalität Anfangs allerdings ausser acht lassen und nur für den Fall der Fälle darauf zurückgreifen.

Was könnte man mit den 2 Digitalein- / ausgängen probieren? An die 2 Eingänge kann man vermutlich einen Taster anhängen und auswerten wenn gedrückt wird? Was aber mit den 24V Ausgängen? Muss da dann noch was anderes dazwischen, damit ich hier 220V schalten kann, oder gibt es dafür eigene Module?

Danke,
Wolfgang