Hi Leute,
heute oder morgen werde ich eine neue Testversion für die IOS-App im TestFlight bereitstellen.
Diese App trägt die Versionsnummer 2.1, weil damit klar sein soll, dass sie zur Version 2.x des SHC gehört (passend zur Version SHC 3 wird ann auch die neue App die Versionsnummer 3 haben).
Ich habe die App noch einmal komplett neu aufgesetzt, da ich in der ersten Entwicklung doch noch nicht so ganz genau wußte wohin die Reise ging und vor allem musste ich mich auch erst mal mit den Daten, die ich aus dem SHC bekomme und dessen Steuerung vertraut machen. Da ein Umprogrammieren in der alten App zu aufwendig gewesen wäre, habe ich kurzerhand das ganze noch mal von Vorn angefangen. Das Ergebnis ist die Version 2.1.
Das allein wäre es ja noch nicht Wert, dafür unter Informationen einen neuen Thread zu starten. Da ich euch im Allgemeinen, und den Testern im Besonderen, die Änderungen und neuen Möglichkeiten vorstellen möchte, wäre das in der App TestFlight der falsche Ort gewesen und dort kann man auch nicht übersichtlich eine solche Vorstellung machen.
Hier mal zu den Neuheiten:
1. WAN / LAN
In dieser Version kann man nun den Host und den Port getrennt nach WAN und LAN hinterlegen. Einige User haben Router, die über WAN und DYNDNS sich selber nicht finden können und dann keine Verbindung aufbauen können.
Die Einstellung kann entweder fest hinterlegt werden, oder man wird bei jedem Start der App gefragt, wie man sich verbinden möchte.
2. Getrennte Intervalle für den Datenabruf
Während ich in der Raumüberichs keine hohe Anruffrequenz benötige, so möchte ich doch in den Räume ggf. eine durchaus schneller Aktualisierung der Werte und Schalterstellungen.
3. Raumicons und Raumnamen
Für jeden Raum kann nun ein eigenes Symbol ausgewählt werden. Das soll der besseren Übersicht dienen. Zur Zeit kann man zwar nur auf die Symbole zurückgreifen, die sowieso im SHC vorhanden sind, aber geplant ist, dass man innerhalb der App eigenen Symbole hinzufügen kann. Sei es ein Bild aus dem Internet oder sogar ein Photo aus dem Photostream.
Des Weiteren kann man auch die Bezeichnung des Raumes verändern. So kann jeder in der Familie die Räume später so nennen, wie er oder sie es für richtiger oder sinnvoller hält. (man muss ja nicht, aber man kann)
4. ElementIcons und Elementnamen
Auch innerhalb der Räume kann eine solche Änderung vorgenommen werden. Es gelten die gleichen Vorgaben wie bei den Raumeinstellungen-
Diese Einstellungen sind über den Button "Edit" jeweils oben rechts zu erreichen.
5. Formatierung der Werte
Da man ja nicht nur die Hardwaresensoren verwenden kann, die über das SHC-Projekt verarbeitet werden, sondern auch Software-Sensoren, kann man ja praktisch jede beliebige Quelle als Sensor realisieren. Ich habe z.B. meine Pufferspeicher und meine Heizung darüber verbunden.
Nun ist es aber so, dass diese Sensoren grundsätzlich als Temperatursensoren dargestellt werden, was bei einer Lüfterdrehzahl oder der prozentualen Pufferladung eher suboptimal ist.
Darum kann man nun einige Manipulationen mit den Werten anstellen, bevor diese aus dem Iphone angezeigt werden.
Als erstes kann man Wertebezeichner ändern. In der Regel steht bei einem Temperaturfühler eben Temperatur. Man kann diesen so anpassen, dass dort jetzt Temp: oder Ladung: oder auch gar nichts steht.
Als zweites kann man den Wert als Integer (wer das nicht kennt: als Ganzzahl, ohne Nachkommastellen) anzeigen lassen. Ganz praktisch z.B. bei einem Lüfter, dessen Umdrehungszahl nunmal keine Nachkommastellen benötigt.
Als drittes kann man auch noch die Einheit verändern, die hinter dem Wert erscheinen soll. Im Fall des Lüfters ist das "U/Min", so dass nun eine quellenbezogene Darstellung möglich ist.
Als viertes kann nun auch noch eine Textersetzung vorgenommen werden. Hier ein Beispiel: Im Falle meiner Heizkreispumpen, will ich ja wissen, ob diese in Betrieb sind oder aus. Als Wert kann ich mir aber nur eine Temperatur schicken. Also habe ich meine Programm für das Auslesen der Heizung so geschrieben, dass es mir -1 als "Pumpe läuft" und 0 als "Pumpe läuft nicht" an das SHC schickt.
Durch die Textersetzung mach ich aus -1 = "Ein" und auch 0 = "Aus".
So kann man bis zu 4 verschiedene Zustände in Worten darstellen. (Geplant ist noch eine Funktion mit "größer als x" und "kleiner als x" um auch so bestimmte Zustände darzustellen.
6. Taster
Ein beliebiges Schaltelement kann auch als Taster eingestellt werden. Der Taster funktioniert dann so, dass bei Betätigung der Befehl "ein" und beim Loslassen der Befehl "Aus" an das SHC gesendet wird. Da es natürlich bei der Übertragung zu Laufzeiten kommt (was sich nicht vermeiden lässt) bleibt die Dauer aber konstant. D.h. wenn ich 5 Sekunden auf den Taster drücke, dann wird das Schaltelement auch 5 Sekunden lang auf "Ein" geschaltet.
Eine Beschriftung des Tasters kann noch zusätzlich festgelegt werden.
Da diese Version einen komplette Neuentwicklung war, können sich leider auch neue Fehler eingeschlichen haben. Und da ich nicht über alle verfügbaren Komponenten verfüge konnte ich bestimmte Dinge auch nur in der Theorie testen.
Für die neuen Einstellmöglichkeiten war es notwendig, dass ich im Hintergrund eine kleine DB im Programm habe, die sich die Einstellungen zu den Elementen merkt. Das hat den positiven Nebeneffekt, dass (außer beim ersten Mal) sich die Übersichten wesentlich schneller aufbauen, da sie zur Verfügung stehen, bevor die Antwort vom SHC da ist. Der kleine Nachteil ist (sofern es denn einer ist), dass z.B. bei einem Raum erst mal für eine sehr kurze Zeit der Zustand der Elemente angezeigt wird, so wie beim letzten Mal war, während im Hintergrund die Abfrage des SHC läuft. Ist die Antwort da, dann wird die Anzeige sofort aktualisiert. Diese Zeitraum ist bei LAN sehr kurz, kann aber bei GSM z.B. doch etwas länger sein. Ein weiterer Vorteil ist dann aber, dass ein Schaltvorgang sofort möglich ist.
ich habe noch ein paar weitere Verbesserungen geplant, die zum Teil auf die oben aufgeführten aufbauen. Zusätzlich will ich noch Widgets einbauen und die Möglichkeit sich lokale Benachrichtigungen über Zustandsänderungen anzeigen zu lassen, auch wen die App nicht aktiv ist.
Hier nun ein paar Screenshots
PS: Ich hoffe euch gefallen die Änderungen.
heute oder morgen werde ich eine neue Testversion für die IOS-App im TestFlight bereitstellen.
Diese App trägt die Versionsnummer 2.1, weil damit klar sein soll, dass sie zur Version 2.x des SHC gehört (passend zur Version SHC 3 wird ann auch die neue App die Versionsnummer 3 haben).
Ich habe die App noch einmal komplett neu aufgesetzt, da ich in der ersten Entwicklung doch noch nicht so ganz genau wußte wohin die Reise ging und vor allem musste ich mich auch erst mal mit den Daten, die ich aus dem SHC bekomme und dessen Steuerung vertraut machen. Da ein Umprogrammieren in der alten App zu aufwendig gewesen wäre, habe ich kurzerhand das ganze noch mal von Vorn angefangen. Das Ergebnis ist die Version 2.1.
Das allein wäre es ja noch nicht Wert, dafür unter Informationen einen neuen Thread zu starten. Da ich euch im Allgemeinen, und den Testern im Besonderen, die Änderungen und neuen Möglichkeiten vorstellen möchte, wäre das in der App TestFlight der falsche Ort gewesen und dort kann man auch nicht übersichtlich eine solche Vorstellung machen.
Hier mal zu den Neuheiten:
1. WAN / LAN
In dieser Version kann man nun den Host und den Port getrennt nach WAN und LAN hinterlegen. Einige User haben Router, die über WAN und DYNDNS sich selber nicht finden können und dann keine Verbindung aufbauen können.
Die Einstellung kann entweder fest hinterlegt werden, oder man wird bei jedem Start der App gefragt, wie man sich verbinden möchte.
2. Getrennte Intervalle für den Datenabruf
Während ich in der Raumüberichs keine hohe Anruffrequenz benötige, so möchte ich doch in den Räume ggf. eine durchaus schneller Aktualisierung der Werte und Schalterstellungen.
3. Raumicons und Raumnamen
Für jeden Raum kann nun ein eigenes Symbol ausgewählt werden. Das soll der besseren Übersicht dienen. Zur Zeit kann man zwar nur auf die Symbole zurückgreifen, die sowieso im SHC vorhanden sind, aber geplant ist, dass man innerhalb der App eigenen Symbole hinzufügen kann. Sei es ein Bild aus dem Internet oder sogar ein Photo aus dem Photostream.
Des Weiteren kann man auch die Bezeichnung des Raumes verändern. So kann jeder in der Familie die Räume später so nennen, wie er oder sie es für richtiger oder sinnvoller hält. (man muss ja nicht, aber man kann)
4. ElementIcons und Elementnamen
Auch innerhalb der Räume kann eine solche Änderung vorgenommen werden. Es gelten die gleichen Vorgaben wie bei den Raumeinstellungen-
Diese Einstellungen sind über den Button "Edit" jeweils oben rechts zu erreichen.
5. Formatierung der Werte
Da man ja nicht nur die Hardwaresensoren verwenden kann, die über das SHC-Projekt verarbeitet werden, sondern auch Software-Sensoren, kann man ja praktisch jede beliebige Quelle als Sensor realisieren. Ich habe z.B. meine Pufferspeicher und meine Heizung darüber verbunden.
Nun ist es aber so, dass diese Sensoren grundsätzlich als Temperatursensoren dargestellt werden, was bei einer Lüfterdrehzahl oder der prozentualen Pufferladung eher suboptimal ist.
Darum kann man nun einige Manipulationen mit den Werten anstellen, bevor diese aus dem Iphone angezeigt werden.
Als erstes kann man Wertebezeichner ändern. In der Regel steht bei einem Temperaturfühler eben Temperatur. Man kann diesen so anpassen, dass dort jetzt Temp: oder Ladung: oder auch gar nichts steht.
Als zweites kann man den Wert als Integer (wer das nicht kennt: als Ganzzahl, ohne Nachkommastellen) anzeigen lassen. Ganz praktisch z.B. bei einem Lüfter, dessen Umdrehungszahl nunmal keine Nachkommastellen benötigt.
Als drittes kann man auch noch die Einheit verändern, die hinter dem Wert erscheinen soll. Im Fall des Lüfters ist das "U/Min", so dass nun eine quellenbezogene Darstellung möglich ist.
Als viertes kann nun auch noch eine Textersetzung vorgenommen werden. Hier ein Beispiel: Im Falle meiner Heizkreispumpen, will ich ja wissen, ob diese in Betrieb sind oder aus. Als Wert kann ich mir aber nur eine Temperatur schicken. Also habe ich meine Programm für das Auslesen der Heizung so geschrieben, dass es mir -1 als "Pumpe läuft" und 0 als "Pumpe läuft nicht" an das SHC schickt.
Durch die Textersetzung mach ich aus -1 = "Ein" und auch 0 = "Aus".
So kann man bis zu 4 verschiedene Zustände in Worten darstellen. (Geplant ist noch eine Funktion mit "größer als x" und "kleiner als x" um auch so bestimmte Zustände darzustellen.
6. Taster
Ein beliebiges Schaltelement kann auch als Taster eingestellt werden. Der Taster funktioniert dann so, dass bei Betätigung der Befehl "ein" und beim Loslassen der Befehl "Aus" an das SHC gesendet wird. Da es natürlich bei der Übertragung zu Laufzeiten kommt (was sich nicht vermeiden lässt) bleibt die Dauer aber konstant. D.h. wenn ich 5 Sekunden auf den Taster drücke, dann wird das Schaltelement auch 5 Sekunden lang auf "Ein" geschaltet.
Eine Beschriftung des Tasters kann noch zusätzlich festgelegt werden.
Da diese Version einen komplette Neuentwicklung war, können sich leider auch neue Fehler eingeschlichen haben. Und da ich nicht über alle verfügbaren Komponenten verfüge konnte ich bestimmte Dinge auch nur in der Theorie testen.
Für die neuen Einstellmöglichkeiten war es notwendig, dass ich im Hintergrund eine kleine DB im Programm habe, die sich die Einstellungen zu den Elementen merkt. Das hat den positiven Nebeneffekt, dass (außer beim ersten Mal) sich die Übersichten wesentlich schneller aufbauen, da sie zur Verfügung stehen, bevor die Antwort vom SHC da ist. Der kleine Nachteil ist (sofern es denn einer ist), dass z.B. bei einem Raum erst mal für eine sehr kurze Zeit der Zustand der Elemente angezeigt wird, so wie beim letzten Mal war, während im Hintergrund die Abfrage des SHC läuft. Ist die Antwort da, dann wird die Anzeige sofort aktualisiert. Diese Zeitraum ist bei LAN sehr kurz, kann aber bei GSM z.B. doch etwas länger sein. Ein weiterer Vorteil ist dann aber, dass ein Schaltvorgang sofort möglich ist.
ich habe noch ein paar weitere Verbesserungen geplant, die zum Teil auf die oben aufgeführten aufbauen. Zusätzlich will ich noch Widgets einbauen und die Möglichkeit sich lokale Benachrichtigungen über Zustandsänderungen anzeigen zu lassen, auch wen die App nicht aktiv ist.
Hier nun ein paar Screenshots
PS: Ich hoffe euch gefallen die Änderungen.
Gruß Dieter
--------------
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
--------------
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.