Android App IPSymconVoice

Cool Danke für deine Arbeit.

Nachtrag

Das blöde Huiwei MediaTab T1 10" Tablet will auch nicht, das der Socket beim booten startet :banghead:

Könntest du bitte die neueste APK wieder in die Dropbox legen :wink:

Sorry habe ich vergessen. Habe ich wieder abgelegt. Wegen dem SocketServer Thema bin ich dran, das dauert aber noch weil ich da selber einige Tests machen muss.

Ok kein Problem, 1000 mal Danke für deine Bemühungen!

So,

nachdem ich einen Fehler gefunden hatte und gefixt habe sollte jetzt der SocketServer korrekt neu starten mit der Selbstüberwachung falls er nicht mehr lauft in der neuen Version 2.4.5 der App Haussteuerung

Die Selbstüberwachung des SocketServer Threads lief schon immer alle 10Sek. und prüft im Service ob der Thread aktiv ist in dem der SocketServer lauft. Wenn man in Android auf der selben Instanz den Thread neu starten will dann geht das nicht :rolleyes:

Vorher im Android Java Coding:

socketServerThread.interrupt();   //to be safe again an interrupt
socketServerThread.start();

Jetzt Neu im Android Java Coding:

socketServerThread.interrupt();   //to be safe again an interrupt
socketServerThread = new Thread(new SocketServerThread(getApplicationContext(),applicationsArrayList));
socketServerThread.start();

Insofern ist es ein simpler fix gewesen mit einer Zeile zusätzlichem Coding :smiley:

Warum es allerdings bei Dir beim Booten nicht klappt ist mir ein Rätsel. Denn ich horche hier auf einen BootCompleted Receiver den Android aussendet wenn das Gerät fertig neu gestartet wurde. Verwendest Du hier ein Custom Rom?

LG
Thiemo

Hi das wäre schön, wenn ich ein custom Rom für das Ding hätte :smiley: Ne alles original Huawei :banghead:

Vielen dank für deine Mühe, ich werde es testen und dir berichten :smiley:

Moin, Moin,

Ist ja wahnsin… die erste App die fast funktioniert (bei mir als unwissender).

Ich habe aber ein „kleines“ Problem. Ich habe das ganze 1:1 übernommen (also auch das komplette Script aus dem ersten Post) ABER…

Ich habe zum Schalten von 433MHz-Steckdosen folgende Scripte und Variablen:

wenn ich aber das Script entsprechend mit „meiner“ Variable ändere:

"Wohnzimmer1" => array("Typ" => "Licht", "Variable" => [b]44428[/b], "Art" => "Decke", "Aussprache" => "Im Wohnzimmer ist das Deckenlicht" ),

Dann schaltet der nur das Icon in der Weboberfläche um,- das Licht selbst wird aber nicht geschaltet. Wenn ich versuche die jeweiligen Scripte anzugeben, so funktioniert das auch nicht.

Was mache ich falsch? Wie muss ich wo, was angeben?

Danke und Gruß aus Hamburg

Wie schaltest du es den normalerweise ? Nur über das Webfront ?

Schalten deine Skripte denn auch diese Variable an/aus?

Moin, Moin,

ich schalte ausschließlich über das Webfront. Dafür ist folgende Variable:

4331.png

das ganze auf die Aktion „Wohnzimmer Deckenlicht umschalten“ verlinkt:

<?
$var = GetValueBoolean(44428 /*[Wohnzimmer\Wohnzimmer\Wohnzimmer Deckenlicht]*/);
$var = !$var;
SetValueBoolean(44428 /*[Wohnzimmer\Wohnzimmer\Wohnzimmer Deckenlicht]*/,$var);
if($var === true)
   {
HID_SendEvent(46540 /*[433MHz]*/, 0, chr(9).chr(1).chr(0x01).chr(0x00).chr(0x00).chr(0x00).chr(0x00).chr(0x00).chr(0x7D).chr(0x7D).chr(0x00).chr(0x00));
  }
   else
   {
HID_SendEvent(46540 /*[433MHz]*/, 0, chr(9).chr(1).chr(0x00).chr(0x00).chr(0x00).chr(0x00).chr(0x00).chr(0x00).chr(0x7D).chr(0x7D).chr(0x00).chr(0x00));
  }
?>

Es gibt dann noch ein „Wohnzimmer Deckenlicht ausschalten“:

<?

HID_SendEvent(46540 /*[433MHz]*/, 0, chr(9).chr(1).chr(0x00).chr(0x00).chr(0x00).chr(0x00).chr(0x00).chr(0x00).chr(0x7D).chr(0x7D).chr(0x00).chr(0x00));
SetValue(44428 /*[Wohnzimmer\Wohnzimmer\Wohnzimmer Deckenlicht]*/,0);

?>

Sowie ein "Wohnzimmer Deckenlicht einschalten:

<?

HID_SendEvent(46540 /*[433MHz]*/, 0, chr(9).chr(1).chr(0x01).chr(0x00).chr(0x00).chr(0x00).chr(0x00).chr(0x00).chr(0x7D).chr(0x7D).chr(0x00).chr(0x00));
SetValue(44428 /*[Wohnzimmer\Wohnzimmer\Wohnzimmer Deckenlicht]*/,1);

?>

[QUOTE=Thiemo;286834]So,

nachdem ich einen Fehler gefunden hatte und gefixt habe sollte jetzt der SocketServer korrekt neu starten mit der Selbstüberwachung falls er nicht mehr lauft in der neuen Version 2.4.5 der App Haussteuerung

Hi es hat geklappt, auf dem Huawei Tablet bleibt der Socket schon seit 24 Stunden offen ! :D:D:D:D:D

Ich teste es jetzt ob es auch auf einem Amazon Kindle HDX 8" funktioniert… :wink:

Ob der Socket auch bei einem Reboot automatisch eingeschaltet wird, muss ich noch testen :rolleyes:

1000x Danke !

Hi,

mache es so in dieser Art (bei mir virtueller Schalter für Schlafzimmer Licht); im Script für die App ist dann 42028 eingetragen für das Schlafzimmer Licht und die Aktion wird im Script laut Screenshot dann ausgelöst (an oder aus) bzw. kannst im Script ja dann auch noch die andere Variable aktualisieren die Du sonst im Webfront verwendest.

LG
Thiemo

Ja is ja geil!!! Genau das war´s!

Jetzt hab ich aber doch noch mal ne Frage,- kann man bei dieser App ein „Zauberwort“ einrichten sodass man das Handy nicht in die Handy nehmen muss?

Auch ich möchte mich als erstes für dieses tolle Script bedanken.

meine Homematic Schalter werden korrekt angesprochen und geschaltet.
Wenn ich eine normale Boolean Variable hinterlege lässt sich diese zwar einschalten jedoch nicht ausschalten.
input aktion aus, es wird aber ein ausgewertet.

--------------Input - Variable -----------
küche licht schrank aus

-----------Input - ausgewertet -----------
Typ: Licht
Aktion: ein
Raum: Küche
Detail:
Richtung:
Art: Schrank
Zahl: 1

Variable: 46959
Continue1: 1
Continue2: 1
Schalter: bereis anVariable: 55650
Continue1: 0
Continue2: 1

------------------Output------------------
In der Küche ist das Licht am Schrank bereits an
Script Laufzeit 0.0026288032531738 Sekunden

jemand eine Idee?

Ja kann man. In der App kann man in den Einstellungen recht/links scrollen bzw. unten/oben die Icons anklicken und entsprechend bei den Spracheinstellungen gibt es die Einstellung „Offline Spracherkennung“ zu aktivieren und das Schlüsselwort der Erkennung (am besten auf Computer lassen).

Näheres gibt es auch in diesem Post vom Thread hier https://www.symcon.de/forum/threads/26005-Android-App-IPSymconVoice?p=268320#post268320

Hallo,

das liegt an der Reihenfolge.

„küche licht schrank aus“

Die Phrase „an“ von „schrank“ wird ebenfalls als „ein“ ausgewertet.

„küche licht aus schrank“

funktioniert auch nicht, weil „an“… im Script vorher gesucht wird :banghead:

Falls Du nie den Befehl „an“ sagst, sondern immer „ein“ kannst Du hier bei folgendem Coding im Script das „an|“ löschen

Vorher:

	    case (preg_match("/an|ein|on/i", $input) ? true : false ) :
			  $aktion = "ein";
			  break;

Nachher:

	    case (preg_match("/ein|on/i", $input) ? true : false ) :
			  $aktion = "ein";
			  break;

Ansonsten fällt mir jetzt hier auf die schnelle nichts ein. Ist mir noch nie aufgefallen, dass es bei mir auch so ist. Das liegt aber wohl daran, dass ich immer komplett in der Küche überall das Licht einschalte und nicht nur entweder an der Decke oder am Schrank :o

LG
Thiemo

Hallo Thiemo,

bin gerade am testen mit den Befehlen an das Android (hier Odys ieos).
DeaktiviereStandby geht bei mir nicht. Reagiert nicht. Muss da was in den Einstellungen vom Tablet geändert werden?

Viele Grüsse
Baldur

Hallo Thiemo,
Vielen Dank für die schnelle Hilfe
Es funktioniert Danke Danke Danke

Hallo Baldur,

geändert werden muss normalerweise nichts. Welche Android Version verwendest Du da? Ist es ein StockRom oder CustomRom?

LG
Thiemo

Hi habe (glaube ich) einen Fehler gefunden…

Die APP hat vor den letzten IPS 4 Updates immer Latitude und Longitude imm mit einem Punkt über tragen und jetzt wird statt einem Punkt ein Komma übertragen…

Also Vorher

49.82

und jetzt

49,82

Habe mich gewundert, warum auf einmal die Berechnung der Distanz usw. nicht mehr gegangen ist…