Android App IPSymconVoice

Ich habe IPS 4.0 im Einsatz unter WHS2011 und habe die Latitude und Longitude als Float in IP-Symcon definiert und habe da keine Probleme mit dem Rechnen bzgl. Anwesenheitsstatus. Verwendest Du auch Float in IP-Symcon oder eventuell String? Es kann natürlich sein, dass IPS früher die Werte mit Punkt dargestellt hat und nicht mit Komma. Auf das habe ich nicht geachtet. Geändert in dem Umfeld habe ich nichts in letzter Zeit

Hi ich habe nachgeschaut, ich habe Lat und Longtitude als Float Variabeln angelegt…

Ich glaube das es auch nicht von APP kommt, sondern von IPS :wink:

Was neues : was muss ich einstellen, das die Sprachausgabe auch geht, wenn das Gerät gesperrt und das das Display aus ist ?

Mal wieder ich :smiley:

Ich mir habe noch ein Samsung Tablet mit Android 4.4.4 zugelegt, habe aber folgende Probleme:

  • Deaktivieren vom Standby geht nicht, Display bleibt aus…

  • Tasker Task ausführen hat keine Funktion :frowning:

Hat jemand eine Idee was das sein könnte :confused: Auf den Anderen 4.4 Tablet geht das wunderbar ?

Hallo,

da musst Du eigentlich gar nichts einstellen. Das klappt bei mir auch so. Kann es sein, dass bei deinem Gerät die WLAN Verbindung nach einer gewissen Zeit abgebaut wird durch Energiesparoptionen wenn es ausgeschaltet ist. Manchmal kann man das in den Android Einstellungen entsprechend deaktivieren (in den Erweiterten WLAN Einstellungen bei WLAN im Ruhemodus aktiviert lassen auf immer unter Android 4.4.4 bzw. bei Android 5.0.1 bei Sony lautet es „Wi-Fi in Standby aktiv lassen“). Das ist auch von Hersteller zu Hersteller unterschiedlich mit die drüber gestülpten eigenen UIs. Bei Sony zB: habe ich zusätzlich unter Energieoptionen bei Stamina Modus meiner App erlaubt immer aktiv zu sein damit der permanente Zugriff funktioniert.

  • Hast Du bei Tasker auch den extermen Zugriff erlauben aktiviert in den Einstellungen und Verschiedenes?
  • das Standby Deaktivieren wird mit einer Activity (Bildschirmmaske) gemacht die kurz ein paar Millisekunden gezeigt wird; diese hat das Theme „android:theme=“@style/Theme.Transparent"" und gar keine extra Bildschirm Elemente damit es möglichst unsichtbar ist (kein Bildschirm Flaggern); eventuell geht Samsung hier anders damit um als andere Hersteller :frowning:

LG
Thiemo

Noch zur Info: Ich habe gerade ein paar Scripte geändert da IP-Symcon unter Raspberry 3 (Jessie) bei mir den Prozess beendet hat sobald ein socket_connect schief gelaufen ist. Ich bin bei den Scripten hier nicht korrekt mit exit ausgestiegen und die if Abfrage war falsch, zusätzlich habe ich noch folgendes eingebaut bzgl. Socket Timeout in den PHP Scripten hier in diesem Forum Thread

socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array('sec' => 1, 'usec' => 0));

Hi Danke für deine Hilfe :o

-Wlan ist immer an, ich weiß nicht was ich am S3 umgestellelt habe, das es nicht mehr funktioniert :banghead:

  • Klar habe ich bei Tasker den externen Zugriff aktiviert, aber es passiert nix… aber nur auf dem Samsung Tablet !

  • Wegen dem deaktivieren von Standby habe ich jetzt mit der Sercurity APP gelöst, ist zwar nicht schön, aber es geht…

  • Ja das Problem mit dem PI und deinem Socket Script habe ich schon festegestellt, wenn das Handy nicht erreichbar ist, knallt der IPS Dienst sofort durch :banghead:

Mh,

das hört sich alles nach sehr individuellen Problemen an :frowning:

Also hier mal ein Auszug damit es jetzt korrekt funktioniert. Ich hatte mehrere Fehler drinnen.

a.) bei den IF Statements hatte ich 3x das ist gleich Symbol (===) :banghead:
b.) bei den IF Statements bin ich nicht mit Exit ausgestiegen bei Fehler :banghead:
c.) Vor dem socket_connect folgende beiden Einträge (1 Sekunde ist zu wenig)
socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array(‚sec‘ => 3, ‚usec‘ => 0));
socket_set_option($socket, SOL_SOCKET, SO_SNDTIMEO, array(‚sec‘ => 3, ‚usec‘ => 0));

Bei mir knallt jetzt nichts mehr.

/* Einen TCP/IP-Socket erzeugen. */
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket == false) {
    echo "socket_create() fehlgeschlagen: Grund: " . socket_strerror(socket_last_error()) . "
";
    exit;
} else {
    echo "OK.
";
}

echo "Versuche, zu '$address' auf Port '$service_port' zu verbinden ...";
socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array('sec' => 3, 'usec' => 0));
socket_set_option($socket, SOL_SOCKET, SO_SNDTIMEO, array('sec' => 3, 'usec' => 0));
$result = socket_connect($socket, $address, $service_port);
if ($result == false) {
    echo "socket_connect() fehlgeschlagen.
Grund: ($result) " . socket_strerror(socket_last_error($socket)) . "
";
    exit;
} else {
    echo "OK.
";
}

Hallo,

folgende Änderungen gibt es jetzt in der Version 2.5 (sollte in den nächsten Stunden verfügbar sein).

  • Android 7.1 Support für Long Click auf App Icon um direkt eine Sprachsteuerung oder eine Textsteuerung oder das Webfront auszuwählen. Das sieht dann so aus (hier ein Screenshot aus dem Android Emulator mit 7.1; habe leider selber noch kein physisches Gerät mit 7.1)

  • Webcam von App kann aktiviert werden in der App (näheres dazu unten) und wenn es explizit in den Einstellungen auch für den Socket Server freigegeben ist (extra Absicherung) dann auch über den Socket Server Starten/Stoppen möglich.

  • Start/Stop Menü mit Wisch nach rechts vom App Homescreen oder auswählbar über die Einstellungen um direkt folgende Aktionen starten/stoppen zu können:

[ul]
[li]Offline Spracherkennung[/li][li]Socket Server[/li][li]Standortermittlung[/li][li]WLAN Tracking[/li][li]Webcam[/li][/ul]

  • Verschlüsselung der in der App gespeicherten Daten inkl. jener auf der Smartwatch (nur die Strings; keine Boolean oder Zahlenwerte)

  • SocketServer Kommunikation kann jetzt mittels Passwort erfolgen. Sobald in der App beim SocketServer ein Passwort vergeben wird muss die Kommunikation über Passwort erfolgen.
    Dazu schaut das Kommando dann ein wenig anders aus:

PW <hier dein Passwort> <Kommando>

Siehe auch hier: Socket Server Script

LG
Thiemo

Hallo,

folgendes geht momentan in der App bzgl. Webcam.

  • TCP Port kann eingestellt werden
  • Auswählbar ob die Webcam automatisch beim Booten gestartet werden soll
  • Auswählbar ob Front/Back Kamera
  • Qualität der JPG Bilder (1… schlechteste Qualität, 100 … beste Qualität)
  • Verzögerung (ms); um das Device bzgl. Akku zu schonen und eine Hitzeentwicklung zu vermeiden kann hier pro Bild eine Verzögerung eingebaut werden
  • das Bild ist momentan fix auf lediglich 640x480 beschränkt da ich mit der API ab Android 5.0 (Camera2) ein Problem mit einem Array too small bekomme sobald ich die Auflösung erhöhe (da muss ich mich erst näher damit beschäftigen bzw. auf Stackoverflow YUV_420_888 vermutlich mal nachfragen)

Es wird ein MJPG Stream erzeugt. In dem Beispiel unten wäre zB: die Adresse dann folgende:
http://<Geräte IP>:50001/

Folgendes kann schiefgehen:

  • Ich habe ein altes Samsung Galaxy S1 Testgerät mit Customrom Omnirom auf Android 6.0 am laufen; hier sagt er mir zwar das die Webcam gestartet ist, aber im Android Monitor sehe ich einen nicht abfangbaren Fehler der vom Gerät selber permanent pro Bild produziert wird; das liegt hier vermutlich am Omnirom oder weil das Gerät an und für sich gar nicht mehr für Android 4.x, 5.x, 6.x offiziell zertifiziert ist. Also Vorsicht bei Custom Roms auf älteren Geräten

Folgende Punkte werde ich mir in den nächsten Wochen/Monaten vornehmen. Kann aber nicht garantieren dass mir das alles so gelingt.

[ul]
[li]Webcam mjpg Stream mit User/Passwort absichern
[/li][li]Webcam jpeg Einzelbild inkl. User/Passwort Möglichkeit
[/li][li]Webcam Auflösung entsprechend auswählbar (nicht fix auf 640x480 wie momentan)
[/li][li]Socket Server Verschlüsselung der Übertragung mit TLS
[/li][li]Webcam MJPEG Stream bzw. JPEG Verschlüsselung https
[/li][/ul]

HALLO Thiemo,
Das ist wirklich einmal was praktisches. SUPER!

ICH habe die AP heute auf meinen 14" installiert. DA ist die Auflösung etwas größer. DIES wollte ich mit den ZOOM Faktor anpassen. Man kann alles eingeben (0.9 oder 1.2) es wird aber immer in einer festen Größe extrem groß angezeigt.
System Android 5.1

Muss man noch etwas anderes einstellen?

Also der Zoom Faktor bezieht sich nur auf das Webfront von IP-Symcon (Button „Zeige Webfront“).
Meine eigene App lässt sich damit nicht dynamisch skalieren in der Anzeige. Diese ist fix vorgegeben.

Ich mache es in Android folgendermaßen in der Methode onPageFinished vom WebViewClient und habe da mit einem Android 4.4.4 Tablet keine Probleme (kann es größer oder kleiner darstellen)

javascript = "javascript:document.getElementsByName('viewport')[0].setAttribute('content', 'user-scalable=yes, initial-scale=" + thiemoParameter.getIpWebFrontScale() + ", maximum-scale=3.0');";
view.loadUrl(javascript);

Vielen Dank für die schnelle Antwort.
An welcher Stelle von ips trägt man die Zeilen ein?

Gar nicht im IPS. Das ist Android Coding und fix in der App drinnen :slight_smile:

Allerdings habe ich es jetzt mit meinem Teclast X98 Air III Tabelt das ganze ausprobiert und er zieht automatisch in die Breite. Da klappt es auch nicht kleiner zu gehen. Habe mich mit der Version vorhin vertan. Das lauft auf 4.4.4

Das Wand-Tablet bei dem es klappt ist ein altes Asus TF300T mit Custom Rom auf Android 6.0.1. Da muss ich nochmal schauen an was das liegen kann.

Fehler gefunden bzgl. Webfront Tablet Zoom Faktor.

Folgendes generell in dieser Version 2.5.1 die in Kürze im Google Playstore verfügbar ist.

[ul]
[li] Neu: Wähle die Auflösung für die Frontkamera/Rückkamera MJPG Stream
[/li][li] Neu: WebCam MJPG Stream mit https (TLS) Verschlüsselung möglich (Zertifikat)
[/li][li] Fehlerbehebung: Start/Stop Übersicht WebCam und WLAN Scan Berechtigungsabfrage ab Android 6
[/li][li] Fehlerbehebung: Tablet Layout WebCam Einstellungen und Start/Stop Übersicht Verwendung der richtigen Icon-Auflösung
[/li][li] Fehlerbehebung: Webfront Auflösung für Tablet korrigiert (Zoom Faktor)
[/li][/ul]

Bzgl. MJPG Webcam Stream. Das Zertifikat für den Client ist hier zu finden:
http://www.thiemog.eu/joomla/thiemo/thiemopublic.p12
oder hier:
https://dl.dropboxusercontent.com/u/32562665/thiemopublic.p12

Das Passwort für das Zertifikat lautet:
thiemo

Kann unter Android so installiert werden:

[ul]
[li]thiemopublic.p12 lokal in das Hauptverzeichnis kopieren des internen Speichers vom Android Gerät
[/li][li]Einstellungen aufmachen
[/li][li]Sicherheit auswählen im Bereich Nutzer bei Android 4.4; Bildschirmsperre & Sicherheit bei Android 7
[/li][li]Unter Zertifikate Von Speicher installieren auswählen bei Android 4.4; Zertifikate installieren bei Android 7
[/li][li]thiemopublic.p12 auswählen
[/li][li]Passwort thiemo eingeben
[/li][li]Namen vergeben und auf OK klicken
[/li][/ul]

Vielen Dank für die Verbesserungen !

Eins ist nur sehr unpraktisch :

Wenn ich bei einem Smartphone die Front-Kamera benutze, ist das Bild 90° versetzt, also muss ich das Smartphone quer nehmen, dass das Cam Bild richtig gedreht ist… Kann man das nicht noch ergänzen, das man einstellen kann, das es auch im Hochformat auch geht ?

Wenn ich die volle Auflösung und Qualität einstelle, ist das Videobild nicht flüssig :frowning:

Wegen dem Webfrontendanzeige und Zoom:

Ich kann einstellen was ich will 0.1 oder 0.5 usw. immer wird es gleich angezeigt…

Hallo,

ich habe das Thema mit der zu großen Auflösung auf den Tablet mit zwei Apps in den Griff bekommen.
(App „Android Terminal Emulator” und App “Screen Resolution and Density“)
Das ganze ist hier gut beschrieben.http://http://de.wikihow.com/Die-Aufl%C3%B6sung-deines-Ger%C3%A4ts-auf-Android-verringern

Man kann dadurch ein Webfront auf verschieden Tablett’s sehr gut anpassen.

Mfg
Thomas

Also bei mir geht das mit dem Webfront UI skalieren mit der neuesten Version von gestern auf allen physischen Geräten (3 Smartphones und 2 Tablets). Hast du eine CustomRom drauf?
Fehlt Dir eventuell diese App (die Kommentare dort sollte man sich mal durchlesen - :smiley: ) https://play.google.com/store/apps/details?id=com.google.android.webview&hl=de

Das mit dem Drehen muss ich mir mal anschauen ob das auch geht, wenn das ganze nur im Hintergrund als Service lauft so wie es bei der App Haussteuerung von mir implementiert ist. Es gibt ein paar hilfreiche Anleitungen bzgl. dem Problem, anscheinend ist das auch mal wieder von Gerät zu Gerät unterschiedlich wie er das Kamerabild aufnimmt :slight_smile:

Die Performance ist nicht die beste von der Webcam. Das ist mir bewusst. Aber mehr ist momentan nicht drinnen wenn man mjpg haben will.

Hallo Thiemo,
das mit den skalieren funktioniert jetzt super.

Jetzt habe ich einmal andere Feature probiert.
–> Akkustand auslesen und automatisch laden funktioniert einwandfrei

–> Aufruf von Webseiten oder Textansagen mit den Fernsteuerscript https://www.symcon.de/forum/threads/26005-Android-App-IPSymconVoice?p=243739#post243739 funktioniert super.

–> Probleme habe ich jetzt bei Veränderung der Helligkeit durch Steuerung über IPS.
Ich habe hierzu Tasker installiert. und 2 Tasks angelegt.
Task 1 (name Test1) #Setze Autohelligkeit AUS und #Setze Displayhelligkeit auf 25
Task 2 (name Test2) #Setze Autohelligkeit AN
Wenn ich die Tasks einzeln über Tasker ausführe funktioniert es. Wenn es über das Fernsteuerscript ausführe. Tut sich nichts


$in = "";   //nicht löschen!!!
  :
  :
$in .= "Tasker Test1
";

Der Server meldet:
TCP/IP-Verbindung
OK.
Versuche, zu ‚xx.xx.xx.xx‘ auf Port ‚2001‘ zu verbinden …OK.
HTTP request senden …OK.
Serverantwort lesen:
Hello from Android, you are #4
Socket schließen …OK.

Wer kann mir einen Tip geben?
Danke

Externer Zuriff ist in Tasker aktiviert.
Wenn ich in Tasker ein Zeitprofil anlege und die beiden Task abwechseln aufrufe funktioniert es. Aber ueber ips tut sich nichts.

:confused: Thomas :confused:

Hallo,

eine neue Version sollte in den nächsten Stunden verteilt werden.

  • Die Smartwatch Schnelleinstellungen wenn hinterlegt, waren bei einer Neuinstallation nicht mehr auf der Smartwatch sichtbar
  • Der Socket hat sich auch bei mir nach 2x probieren mit Tasker aufgehängt und auch ein Starten/Stoppen vom Socketserver brachte nichts mehr, da im Hintergrund der Socket weiter gelaufen ist. Ich habe jetzt den Socket Timeout reaktiviert
  • Webcam kann man jetzt das Bild drehen (0°, 90°, 180°, 270°)
  • Webfront kann man jetzt in den App Einstellungen den User und das Passwort fix hinterlegen wenn das Webfront so geschützt war für gewisse Bereiche (das gilt aber nicht für das Passwort ganz am Anfang beim Einstiegslogo vom Webfront wenn man zB: über SymconConnect sich verbindet). Das kann man nicht mitgeben!

LG
Thiemo