Android App IPSymconVoice

Hallo Thiemo

Cool, super APP!

Ich hätte die Frage an dich, ob du mir vielleicht auf die Sprünge helfen kannst, wie ich mit ‚App Inventor 2‘ mit IP-Symcon über JSON Kommunizieren kann. Mich interessiert hier hauptsächlich der ‚App Inventor 2‘ Teil. Ich finde leider keine Beispiele auf die ich aufbauen kann.
Wäre super, wenn du einen Screenshot von dem Kommunikationteil für lesen und/oder schreiben an IP-Symcon zur Starthilfe teilen würdest …

DANKE Günter

Hallo Günter,

ja gerne. Das hat mich auch Stunden beschäftigt bis ich das zum laufen gebracht habe.

Man benötigt einmal einen WebViewer und dann die Web Komponente im App Inventor 2 und noch 2 Clocks

  • Der WebViewer (der in den Screen gezogen wird aber als nicht sichtbar markiert wird) macht die BASE64 Verschlüsselung von User+Passwort … Der wiird aufgerufen und über die Clock (Name Clock2) entsprechend darauf gewartet bis die Verschlüsselung fertig ist
  • Die Web Komponente selbst muss entsprechend mit einem Header aufgebaut werden und dann entsprechend der JSON String abgesetzt werden über die Web Komponente per PostText. Die 2te Clock (Name Clock1) dient dann bei mir als Wait um mit dem 2ten PostPext Aufruf die 2te Variable in IP-Symcon abzufragen. Mit dem ersten Aufruf (nicht in den Screenshots) mache ich ja nicht das GetValueString (auslesen einer IP-Symcon String Variable) sondern das Kommando SetValue.

Und hier noch das html Script encrypt (welches die Verschlüsselung durchführt):

<!DOCTYPE HTML>
<html>
<head>
  <meta name="author" content="test.com">
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta http-equiv="Content-Script-Type" content="text/javascript">
  
  <title>Encryption</title>
  <script type="text/javascript">
  function utf8_to_b64( str ) {
    return window.btoa(unescape(encodeURIComponent( str )));
  }

  function b64_to_utf8( str ) {
    return decodeURIComponent(escape(window.atob( str )));
  }
  </script>
</head>

<body>
  <script>
    // get parameters from the window.AppInventor object
    var webstring = window.AppInventor.getWebViewString();

    // do the encryption and print the result to the window.AppInventor object
    window.AppInventor.setWebViewString(utf8_to_b64(webstring));
  </script>
</body>
</html>


Hallo Thiemo

Super, 1000 DANK für deine Bemühungen!

Da ich derzeit nur an einer App für mich herumbastle, hab ich mir das mit der base64 User/Passwort Verschlüsselung vorerst einfacher gemacht. Ich hab den ‚USER:PASSWORT‘ String vorerst mal mit https://www.base64decode.org/ erzeugt und fix eingesetzt.
Die Abfrage einer Float Variable (Temperatur) und das EIN/Ausschalten einer Homematic Lampe hat mit deiner Hilfe somit relativ schnell funktioniert!

Das Ganze sieht bei mir derzeit so aus (ohne Error Handling bzw. Auswertung des JSON Response)

Hallo… Suuuuuper tool. Installiert und läuft nun mit angepasstem script… Da ich die Sprachsteuerung auch selbst per Sprachsteureung auf dem handy aufrufen möchte ("Hallo GALAXY-(Startet S_Voice) dann Kommando Starte IPSYMCONVOICE… wird nie verstanden. Kann man die App nicht einfach Steuerung oder so nennen. Ich kann sie leider auf dem Handy nicht umbenennen und IPSYNcomVOICE wird einfach nicht richtig verstanden von der Google sprachererkennung… zb. als "Starte IP im Konvoi— Keine Anwendung mit diesem Namen gefunden…) …

Hi,

erstmal : SUPER APP… das bring IPS richtig nach vorne im WAF :slight_smile: Damit ist mal VIEL schneller als im Webfront rumzuklicken.

Nur für Thiemo : NFC Tags sind mit meinem Handy( HTC ONE 1. Gen ) und der APP nicht zu beschreiben, das Signal kommt zwar, aber er schreibt nix drauf. Andere NFC App geht einwandfrei. Lesen geht aber super :wink:

Ich beschäftige mich gerade mit Android Studio um die App Neu zu designen und auch eine Lösung für SSL zu schaffen. Eventuell bin ich sogar gezwungen einen neuen Namen zu vergeben wenn ich jetzt mit Android Studio weiter mache.
Insofern könnte ich die App dann schon einfach Sprachsteuerung nennen.

Hallo Thiemo,
das wäre genial, einfach einen Namen, der leichter von der Spracherkennung des Handy erkannt wird, bei dem nach sich nicht blöd vorkommt, wenn man es sein Handy spricht und der Besuch hört zu :slight_smile:
Ablauf wäre dann so: Spracherkennung auf dem Handy starten (bei mir „Hallo Galaxy“) dann App starten mit (Starte „Steuerung“ oder „Haus“ oder „…“ am besten nur einen einteiligen Namen.

Das Ding ist echt Suuuuuuper… vielen Dank.
Gerhard

Die langen Winterabende sind gerettet! der ist gleich dem Namen des Homematic Datenpunktes.

Never Ever und bitte keine verstecke Schleichwerbung.

Statusupdate 09.12.2014:

  • Die App IPSymconVoice bleibt erhalten da diese bereits auf älteren Devices funktioniert
  • Die neue App „Haussteuerung“ die ich mit Android Studio entwickle befindet sich bereits kurz vor Release (schätze mal in ca. 1 Woche) (Gibt aber eine bereits im Playstore mit gleichem Namen; hoffe das geht dann überhaupt)

Punkte die noch fehlen für Relase 1.0 von App Haussteuerung (ab SDK16, also lauffähig ab Android 4.1):

  • Info Screen fertig stellen
  • Sprache Deutsch/Englisch umschaltbar
  • Screenshots erzeugen für PlayStore

Punkte die bereits gehen für ein baldiges Relase 1.0 die bei der App IPSymconVoice nicht gehen:

  • SSL Verschlüsselung!!!
  • Auch einen komplett leeren NFC Tag beschreiben (bei Samsung Galaxy S3 braucht man als Hilfsmittel eine andere NFC App um erstmalig einen NFC Tag zu beschreiben)
  • QR-Code Steuerung
  • Wenn Modus „NFC Steuerung“ aktiviert wurde, dann startet jetzt sofort die App und führt den Befehl aus (nicht wie bei der Version von IPSymconVoice, dass 2x hintereinander der NFC Tag gelesen werden muss)
  • eigenes Layout für Querformat bei den Screens wo es Sinn macht
  • Optionen um gewisse Bereiche der App ausblenden zu können (zB: Info Button, Steuerungsbuttons, etc…)

Roadmap Punkte für Version 1.1 der App Haussteuerung

  • NFC Tag Lesen ohne eine Aktion auszuführen im NFC Menü (Button für Version 1.0 noch ohne Funktion)
  • Layout für Tablet (derzeit nur für Handy optimiert)

Roadmap Punkte für Version 1.2 der App Haussteuerung:

  • Option für Schlafmodus um auf ein Wort zu lauschen (ähnlich wie OK Google)
  • Widget für direkte Sprachsteuerung / Textsteuerung / QR-Code Steuerung

Roadmap Punkte für Version 1.3 der App Haussteuerung

  • Smartwatch Support

LG
Thiemo

Haussteuerung Version 1.0 ist verfügbar (siehe Anfangspost für Link bzw. auch hier) - Solltet Ihr Bugs entdecken bitte hier melden
https://play.google.com/store/apps/details?id=de.ip_symcon.www.haussteuerung&hl=de

Morgen werde ich dann das php Script aktualisieren (da wollte ich auch noch etwas machen bzgl. Status Rückantwort und einen Bug habe ich heute entdeckt bzgl. Trennung mit dem Wort UND für mehrere Kommandos und dem Wort SekUNDen)

Geladen, getestet - funktioniert (auch mit SSL)! :smiley:

Danke, danke, danke!

EDIT: Einen Änderungswunsch hätte ich für die nächste Version: Es wäre schön, wenn nur die Antwort vorgelesen wird. - Ich weiß ja, was ich gesagt habe (und kann im Zweifel lesen, was erkannt wurde). :wink:

Grüße
galleto

Hallo,
ja ich finde auch, bitte nur die Antwort vorlesen.
Wenn ich den Button oben rechts, dass kleine Mikrofon drücke hängt sich die App auf, es geht im Sekundentakt ein Fenster auf.

Gesendet von meinem SM-T805 mit Tapatalk

Da werde ich noch eine Option einbauen „Erkanntes vorlesen“ per Ein/Aus Schalter der Default mäßig dann aus ist in der nächsten Version.
Mit dem „kleinem Mikrofon“ wird in die Sprachoptionen gewechselt. Kannst Du das Fenster genauer beschreiben das aufgeht und welches Gerät hast Du? Hoffentlich kann ich es dann per Emulator testen denn ich habe bisher bei 3 Handys und 1 Tablet noch kein Problem festgestellt.

Habe ein galaxy tab s und ein galaxy S3, die anderen habe ich noch nicht getestet.
Es geht immer ein weißes Fenster auf und wieder zu und das im Sekundentakt, als wäre es eine endlos Schleife.

Gesendet von meinem SM-T805 mit Tapatalk

Ist das beim Links/Rechts wischen auch? Habe nämlich auch ein Galaxy S3 hier und bei dem lauft es einwandfrei.
Also zu den IP-Symcon Settings bist Du noch gekommen oder dort auch schon nicht mehr hin?

Ja ist bei mir beim wischen auch so

Gesendet von meinem GT-I9300 mit Tapatalk

In die settings komme ich, nur Einstellungen Sprechen geht nicht.

Gesendet von meinem GT-I9300 mit Tapatalk

Ich habe eine Idee woran es liegen kann, denn nur bei dieser Anzeige verwende ich sogenannte „Spinner“

Muss mal schauen ob ich das über die Helper Klasse anders lösen kann.
Ich vermute du hast bzgl. Anzeige in den Android Einstellungen etwas verändert (Schriftart, Größen, Touchanzeige, etc…?). Wäre interessant in Erfahrung zu bringen was es genau ist damit ich es auf meinem Galaxy S3 reproduzieren kann um den Fehler auch korrekt beheben zu können.

Bei mir geht alles inkl. Einstellungen und SSL, ist aber auch nur ein 0815 Chinaphone also keine Referenz. :wink:
Michael

Hallo Thiemo,

mit der neuen Version aus dem Store geht es bei mir auf dem S3 auch, Tab habe ich noch nicht probiert,