Android: Spracheingabe-App für IP-Symcon

Also wenn ich mir den Antwort-Quelltext in Opera anschaue steht da auch nur null.

Grüße
Kevin

Bei mir im Quelltext auch nur null

Der Port wird einfach mit Doppelpunkt eingegeben. z.b. 192.168.0.1:82 (also auch ohne HTTP:// usw.)

HTTPS ist ein gutes Stichwort, ich habe bislang keine HTTPS-Verbindung integriert (einfach weil ich keine habe), aber das kommt gleich in die nächsten Version.

Haben zufällig die anderen die NULL erhalten auch SSL aktiviert? Das würde einiges erklären :wink:

Nein, ich habe keine SSL.

mmh, ihr stellt mich echt vor ein Problem :wink:

Also der Befehl GetBaum (wie oben im Beispiel) such per IPS_GetObject(0) den ersten Eintrag im Object-Baum und geht dessen Childs durch… wenigestens einen Eintrag müsste er finden… hat der Baum bei euch aus irgendeinem Grund keine Object-ID=0?

Ich glaube ich werde nochmal ein Test-Script machen, was alle irgendwie interessanten Daten ermittelt und ausgibt, damit wir dem Fehler auf die Spur kommen.

Nur mal für mich, es gibt aber schon welche, wo es läuft, oder??

Ich kann jetzt erstmal nicht mehr testen, bin für zwei Wochen im Tauchurlaub.

GeTapatalk(t) mit meinem Galaxy Tab 10.1N

Hallo hagbard235,

Danke erstmal für die App. Habe es bei mir installiert und es hat „alles“ funktioniert.

Leider ist es mit der Spracherkennung nahezu unmöglich befehle wie „licht an“ zu steuern. Es wird zwar immer „licht an“ erkannt, aber gleichzeitig noch 10 andere Möglichkeiten vorgeschlagen - somit wird nicht gechaltet.
Hier wäre eine Auswahl durch den User nützlich, ansonsten wird man viele übliche Kurzbefehle (licht an, aus, alles aus,…) nicht nutzen können, da sie zumindest bei mir nicht eindeutig erkannt werden.

Auch ich habe kein SSL aktiviert.

Bei mir gibt es mehrere Einträge mit ObjectID=0. Jeder Haupteintrag von IPS beginnt bei 0.
Allerdings habe ich den Schüssel „IP-Symcon“ umbenannt. Vielleicht liegt es daran.

Dann musst zu zusätzlich zu „Licht an“ noch den Raum nennen, z.B. Wohnzimmer, dann funktioniert es. In der nächsten Ausbaustufe wird er bei nicht eindeutigen Befehlen nachfragen „Wo“ er licht anschalten soll, aber ich hab das Problem der Kategorie-in-Kategorie noch nicht gelöst. Welche Kategorie ist die aussagekräftigeste, wenn es mehrere „Ebenen“ gibt, die direkt davor oder die Höchste im Baum?

Na dann erstmal schönen Urlaub, McKevin hat ja auch noch den selben Fehler, vielleicht finden wir das Problem ja bis zu deinem Urlaubsende :wink:

Das ist normal, die anderen sind auch bei jedem unter der ID=0 da, aber IPS scheint immer den richtigen Baum zu liefern (der normalerweise IP-Symcon heisst). Ich bin gerade noch am Testscript, mal sehen was das liefert.

So, habe mal ein Script gemacht, was auf das wichtigste beschränkt. Könnt ihr mal probieren ob es mit dem geht. (im Anhang hier)

aufrufen nach dem entpacken in Webfront/User mit
http://PFad_zu_IPSymcon-Server/user/ipsiris-tests.php?action=test&para1=0

Postet dann bitte mal das Eregbnis (im Quelltext schauen).

Meins sieht z.B. so aus:


Testausgaben zur Fehlerermittlung in IP-S-Iris

Parameter1 = 0

Action = test

Object-Direkt-Daten: Array
(
    [ChildrenIDs] => Array
        (
            [0] => 10142
            [1] => 11772
            [2] => 13184
            [3] => 14126
            [4] => 16987
            [5] => 16999
            [6] => 20149
            [7] => 22536
            [8] => 23418
            [9] => 32078
            [10] => 32355
            [11] => 33713
            [12] => 35240
            [13] => 36037
            [14] => 37092
            [15] => 38981
            [16] => 42115
            [17] => 42516
            [18] => 44765
            [19] => 48528
            [20] => 49616
            [21] => 53052
            [22] => 54946
            [23] => 54974
            [24] => 55714
            [25] => 56185
        )

    [HasChildren] => 1
    [IsPersistent] => 1
    [ObjectIcon] => 
    [ObjectID] => 0
    [ObjectInfo] => 
    [ObjectIsHidden] => 
    [ObjectIsReadOnly] => 
    [ObjectName] => IP-Symcon
    [ObjectPosition] => 0
    [ObjectSummary] => 
    [ObjectType] => 0
    [ParentID] => 0
)


 NORMALER-ZWEIG

[{"ObjectIsHidden":false,"id":0,"ObjectName":"IP-Symcon","ObjectInfo":"","ObjectType":0,"ObjectIcon":"","parent":0}]

ipsiris-tests.zip (1.5 KB)

Ich meine ein anderes Problem: Die Spracherkennung sagt, dass der Satz nicht richtig interpretiert werden kann. Dann werden die Möglichen Treffer ausgegeben:

z.B. bei „Licht an“:
licht an
nicht an
licht am

Mir ist es bisher noch nicht gelungen, diese beiden Worte eindeutig mit der SPracherkennung zu identifizieren.
Ist zwar kein Problem von IPSIris sondern von der Spracherkennung, aber auch hier wäre ein Auswahl aus der Trefferliste sinnvoll.

OK, jetzt weiss ich was du meinst. Allerdings kommt die Liste der Möglichkeiten nur, wenn nicht ein einziges Script getroffen wurde. Das die Spracherkennung immer viele Sätze liefert, also in deinem Beispiel die 3 ist OK, genau aus diesen zu ermitteln welcher Satz der „richtige“ ist, ist eine der Hauptaufgaben der App (und auch das komplizierteste). Wenn in den Ergebnis-Sätzen allerdings eins deiner Scripte auftaucht, dann haben wir ein anderes Problem. Hast du also ein Script das „Licht an“ heisst und im Ergebnis taucht auch „licht an“ auf, dann sollte er nicht diese Antwort liefern.

Gründe warum es trotzdem passieren kann:

  1. du eine ungünstige Verkettung gewählt, z.B. hast du eine Instance „LICHT“ und ein Script „LICHT AN“. Da erkennt er zuerst die Instance „LICHT“ und nicht mehr das Script „LICHT AN“, weil das Wort „licht“ sozusagen schon „verbraucht“ ist. Hier wäre das Script in „AN“ umzubenennen und schon sollte es funktionieren, weil dein Befehl „LICHT AN“ dann die Instance „LICHT“ und das Script „AN“ trifft. Verstehst du wie ich das meine?

  2. Das gewünschte Script liegt irgendwo unter einer „HIDDEN“ Instance, Kategorie oder Variable. Um Daten zu sparen werden diese IPS-Elemente mit Hidden (und deren Kinder) im Moment nicht übertragen. Man kann das Script (oder einen Link auf ein Script) zwar „Hidden“ machen, aber der Zweig im Baum darüber muss noch erkennbar sein. Daran werde ich aber auch noch einmal arbeiten, zwar ist es „inhaltlich“ richtig, da man ja eigentlich die Kategorie/Instance etc. vor der „Visualisierung“ versteckt hat, also nicht möchte das diese Objecte „von aussen“ angesprochen werden, aber ich bin selber auch schon darauf reingefallen und hab mich gewundert, warum ich plötzlich meinen Springbrunnen nicht mehr einschalten konnte :smiley:

Und meins sieht so aus:

Testausgaben zur Fehlerermittlung in IP-S-Iris
Parameter1 = 0
Action = test
Object-Direkt-Daten: Array
(
    [ChildrenIDs] => Array
        (
            [0] => 10699
            [1] => 11451
            [2] => 11548
            [3] => 11725
            [4] => 13265
            [5] => 16073
            [6] => 16340
            [7] => 16969
            [8] => 19984
            [9] => 20066
            [10] => 21152
            [11] => 21232
            [12] => 21444
            [13] => 23691
            [14] => 25427
            [15] => 25483
            [16] => 26133
            [17] => 30019
            [18] => 30353
            [19] => 31551
            [20] => 32078
            [21] => 32159
            [22] => 32556
            [23] => 33823
            [24] => 33876
            [25] => 40400
            [26] => 44956
            [27] => 46737
            [28] => 49082
            [29] => 49354
            [30] => 50629
            [31] => 50700
            [32] => 51435
            [33] => 52168
            [34] => 53978
            [35] => 54685
        )

    [HasChildren] => 1
    [IsPersistent] => 1
    [ObjectIcon] => 
    [ObjectID] => 0
    [ObjectIdent] => 
    [ObjectInfo] => 
    [ObjectIsHidden] => 1
    [ObjectIsReadOnly] => 
    [ObjectName] => SmartHome
    [ObjectPosition] => 0
    [ObjectSummary] => 
    [ObjectType] => 0
    [ParentID] => 0
)

 Im Hidden-Zweig abgebrochen
null

AHA… wie hast du es denn geschafft den Stamm vom Baum auf Hidden zu setzen?? Also per Console geht das nämlich nicht. Gibts dafür nen Grund?

Hallo,

ich habe ihn nie (gewollt) versteckt. Bei mir sind auch noch die I/O Instanzen und die Splitter Instanzen grau, also versteckt.

Grüße
Kevin

Nagut, dann werde ich erstmal ins Script einbauen, dass er das Hidden ignoriert, zumindest für den Stamm.

So, habe mir mal ein Einzeiler geschrieben und den Root wieder sichtbar gemacht.->Deine App läuft jetzt. Nur die Spracherkennung ist halt schwierig.
Werde es weiter testen.

Grüße
Kevin

Ich hab das Script angepasst, du musst dir das ZIP von der Homepage mal neu ziehen, dann sollte er den Hidden-Eintrag übergehen.

Ja, gib vor allem mal zu so etwas Feedback, was geht gut, was nicht, wo muss man sich „verbiegen“ damit der Befehl richtig verstanden wird… etc etc.

Hallo,

habe mit Android bisher noch keine Erfahrung.
Habe als Werbegeschenk ein Loxxon 7" Tablett bekommen.
Normale Anwendungen laufen problemlos.

Wollte dasAPP im Market runterladen, kommt die Meldung das dass nicht geht weil das Gerät im Market nicht registriert ist.

Im PitMarket kann ich AP runterladen.
Hat jemand Ahnung woran dies liegt bzw. wie ich trotzdem an die APP komme.

Im voraus schon mal Danke