Neue Funktionen

  • Die neue Status-Variable IPS Version enthält die Version von IP-Symcon.
  • Die neue Status-Variable IPS Version Date enthält das Release-Datum der IP-Symcon Version.
  • Die neue Status-Variable IPS 64 Bit ist Wahr, wenn IP-Symcon in der 64-Bit Version ausgeführt wird.
  • Die neue Status-Variable IPS Last Update enthält das Datum, an dem IPS auf dem Server das letzte Mal aktualisiert oder installiert wurde.
  • Die neue Status-Variable IPS Last Start enthält den Zeitpunkt, an dem der IPS Server das letzte Mal gestartet wurde.
  • Die neue Status-Variable IPS License Type enthält den Typ der IPS Lizenz.
  • Die neue Status-Variable IPS License Email enthält die mit der IPS Lizenz verbundene Emailadresse.
  • Die neue Status-Variable IPS License Variable Limit enthält die maximale Anzahl an Variablen, die mit der aktuellen IPS Lizenz angelegt werden können.
  • Die neue Status-Variable IPS License Variable Limit Exceeded ist Wahr, wenn die maximale Anzahl an Variablen der aktuellen IPS Lizenz überschritten ist.
  • Die neue Status-Variable IPS License WebFront Limit enthält die maximale Anzahl an WebFronts, die mit der aktuellen IPS Lizenz angelegt werden können.
  • Die neue Status-Variable IPS License Dashboard Support ist Wahr, wenn mit der aktuellen IPS Lizenz Dashboards für Windows angelegt werden können.
  • Die neue Status-Variable IPS Subscription Valid ist Wahr, wenn die IPS Subskription gültig (d.h. nicht abgelaufen) ist.
  • Die neue Status-Variable IPS Subscription Expiration enthält den Zeitpunkt, zu dem die IPS Subskription abläuft.
  • Die neue Status-Variable IPS Connect Connected ist Wahr, wenn der IP-Symcon Server mit dem IP-Symcon Connect-Dienst verbunden ist.
  • Die neue Status-Variable IPS Connect Healthy ist Wahr, wenn der IP-Symcon Connect Dienst lt. http://status.symcon.de/2127775 verfügbar ist.
  • Die neue Status-Variable IPS Database Size enthält die Größe des IPS Datenbank-Verzeichnisses in MB.
  • Die neue Status-Variable IPS Logs Size enthält die Größe des IPS Log-Verzeichnisses in MB.
  • Die neue Status-Variable IPS Scripts Size enthält die Größe des IPS Skript-Verzeichnisses in MB.
  • Die neue Status-Variable OS Name enthält den Namen und die Version des Betriebssystems des IP-Symcon Servers.
  • Die neue Status-Variable Public IP enthält die öffentliche IP des IP-Symcon Servers.
  • Die neue Status-Variable Public IP Hostname enthält den Hostnamen der öffentlichen IP des IP-Symcon Servers.
  • Mit der Funktion Patami_UpdateIPSLiveStatus() können die Statusvariablen für den die IPS Lizent und Subskription aktualisiert werden.
  • Mit der Funktion Patami_UpdateIPSConnectStatus() können die Statusvariablen für den IP-Symcon Connect Dienst aktualisiert werden.
  • Mit der Funktion Patami_UpdateIPSObjectCounts() können die Statusvariablen für die Anzahl der IP-Symcon Objekte aktualisiert werden.
  • Mit der Funktion Patami_UpdatePublicIP() können die Statusvariablen für die öffentliche IP des IP-Symcon Servers aktualisiert werden.
  • Mit der Methode IPS::Is64Bit() kann nun ermittelt werden, ob IP-Symcon in einer 64- oder 32-Bit Version ausgeführt wird.
  • Zur Klasse IPS wurde eine Reihe von weiteren Methode hinzugefügt, die direkten Zugriff auf Datenstrukturen von Methodeaufrufen wie IPS::GetInstance() etc. erlauben.
  • Es wurde eine neue Klasse IPSLive hinzugefügt, mit der Informationen über die IPS Lizenz und Subskription ermittelt werden können.
  • Die Anmeldedaten am IPS Forum können nun auf der Konfigurationsseite eingegeben werden, um Daten von IPS Live abzurufen (Abrufe der IPS Lizenz und der Subskription).
  • Es wurde eine neue Helper-Klasse PHP hinzugefügt, mit der Informationen über den PHP Interpreter ermittelt werden können.
  • Es wurde eine neue Helper-Klasse System hinzugefügt, mit der Informationen über das System, auf dem IPS ausgeführt wird, ermittelt werden können.
  • Die Exception::$customMessages werden nun von der Exception-Klasse formattiert, wobei der erste Parameter die Message und der zweite der Code der Exception sind.
  • Mit der statischen Methode Framework::Debug() können nun Logmeldungen in das Debug-Fenster der Framework Instanz gesendet werden.
  • Das neue Integer-Variablenprofil PatamiFramework.LicenseLimit wird verwendet, um die Anzahl der lizenzierten Variablen oder WebFronts in den entsprechenden Status-Variablen zu visualisieren. Es formattiert den Wert 0 als "Unlimitiert" bzw. "Unlimited", abhängig von der Sprache der IPS Installation.
  • Das neue Boolean-Variablenprofil PatamiFramework.YesNo formattiert einen Boolean-Wert mit "Ja" bzw. "Yes" oder "Nein" bzw. "No", abhängig von der Sprache der IPS Installation und färbt die Werte grün bzw. rot.
  • Das neue Boolean-Variablenprofil PatamiFramework.YesNo.IC ist identisch mit PatamiFramework.YesNo, wobei jedoch die Farben vertauscht sind (Wahr ist rot und Falsch ist grün).
  • Das neue Boolean-Variablenprofil PatamiFramework.YesNo.NC ist identisch mit PatamiFramework.YesNo, wobei jedoch keine Farben verwendet werden.
  • Mit der Methode Module::GetInstance() kann ein Instance-Objekt für die Instanz eines Moduls erzeugt werden.
  • Das Modul Patami Object Group kann nun genutzt werden.
    • Im Modus Status wird der Status mehrerer Objekte ermittelt und ein Ergebnis in Form von Statusvariablen zur Verfügung gestellt. Dies kann z.B. genutzt werden, ob ein Fenster im Haus geöffnet ist oder ob eine Lampe brennt.
    • Im Modus Szene kann man den Status mehrerer Objekte in Szenen speichern und wiederherstellen.
  • Die Methode Drivers::AutoDetect() akzeptiert nun ein Array mit Interface-Namen. Treiber müssen in diesem Fall alle übergebenen Interfaces unterstützen.
  • Mit der Methode Driver::GetMonitoredObjects() können die IPS Objekt IDs abgerufen werden, die überwacht werden müssen, um Änderungen an einem Objekt erkennen zu können.
  • Es wurden die neuen Treiber PatamiObjectGroupStatusDriver, KNXDimmerDriverHomeMaticSwitchDriver und HomeMaticDimmerDriver hinzugefügt.
  • Es wurden die neuen Treiber-Interfaces SetSwitchInterface, GetDimLevelInterface, SetDimLevelInterface und StateInterface hinzugefügt.
  • Mit dem Treiber-Interface StateInterface kann der Zustand eines Objektes gespeichert und wiederhergestellt werden. Hiermit können Szenen-Controller o.ä. implementiert werden.

Verbesserungen

  • Die Aktualisierungsintervalle der Statusvariablen der Patami Framework-Instanz können nun auf der Konfigurationsseite eingestellt werden.
  • Die cURL-Klasse wurde erweitert und ist jetzt funktionsfähig.
  • Bei der Methode Exception::GetCustomMessage() ist der Parameter $locale nun optional und das Framework verwendet die Sprache der IPS Installation.
  • Auf der Konfigurationsseite der Framework Instanz kann nun eine Gira HomeServer Instanz konfiguriert werden. Ist eine solche Instanz konfiguriert, dann werden mit der KNX Helper Klasse versendete KNX-/EIB-Telegramme über den angegebenen Gira HomeServer versendet, anstatt über die EIB_* Funktionen von IPS. Dies ist ein Workaround für den langsamen Versand von Telegrammen mit IPS.

Änderungen

  • Die Last Update Status-Variable wurde entfernt.
  • Die Funktion Patami_UpdateStatus() führt jetzt die o.g. vier neuen Funktionen Patami_Update* asynchron aus, um die Statusvariablen zu aktualisieren.
  • Alle restlichen Statusvariablen werden nun in PatamiFramework::Configure() aktualisiert, d.h. jedes Mal, wenn Änderungen an der Konfiguration angewendet werden oder IPS neu gestartet wird.
  • Die Methode Exception::getCustomMessage() wurde in Exception::GetCustomMessage() umbenannt.
  • Der Error Handler protokolliert nun den Namen eines Fehlertyps (z.B. E_WARNING) anstatt dem Code.
  • Der Error Handler protokolliert keine Fehler mehr, wenn das Error-Handling deaktiviert ist (auch mit dem @-Operator).
  • Der Error Handler und der Exception Handler geben den Stack Trace nun in einem geänderten Format aus und dumpen auch Objekte.
  • Der Error Handler und der Exception Handler entfernen sich selbst nun aus dem Stack Trace.

Fehlerbehebungen

  • Die PatamiGiraHSKOGateway::MessageSink() und PatamiObjectGroup::MessageSink() Methoden hatten falsche Signaturen.
  • Die PatamiGiraHS::SetValue() Methode hat Werte nicht wie vorgesehen skaliert.
  • Die Verwaltung von Statusvariablen wurde aus PatamiFramework::Create() nach PatamiFramework::Configure() verschoben.
  • Die WebHookIOModule- und WebOAuthIOModule-Basis-Klassen haben WebHooks und WebOAuth-Endpunkte registriert oder unregistriert, während IPS noch initialisiert worden ist, was nicht möglich war, weil die WebHook- bzw. Connect-Instanzen von IPS noch nicht bereit waren.
  • Die Module-Basis-Klasse hat bei Flow-Nachrichten immer das Datenfeld Buffer verwendet, was nicht in allen Fällen korrekt ist. Die SendEncodedDataToParent() und SendEncodedDataToChildren() Methoden akzeptieren nun beliebige Datenstrukturen. Die konkrete Funktionalität mit dem Buffer Feld wird in den Gira HomeServer und Gira HomeServer KO Gateway Modulen benötigt; hierfür wurden die Methoden in den beiden abgeleiteten Modulklassen überschrieben.
  • Die Alexa Custom Skill Intents haben andere Instanzen mit demselben Alexa Custom Skill WebHook überprüft, ob ein Intent Name doppelt vergeben worden ist. Dies findet nun nicht mehr bei der Initialisierung von IPS statt.
  • Die Status-Variable IPS Variable Count war nicht dokumentiert.
  • No labels