Vorstellung Windows App - oder endlich eine Frau die macht was ich sage :-)

leider krieg ichs nicht hin . Hab nun schon seit fast 2 Wochen diverse Sachen versucht, es geht einfach nicht.
Die Standardkonfiguration läuft, sobald ich meine eigenen Sprachbefehle einfüge und Cortana Hook bearbeite Fehler
Anbei mal meine Sorachbefehle

<? //Do not delete or modify.
include(IPS_GetKernelDirEx()."scripts/__ipsmodule.inc.php");
include("../modules/ips4Windows/ips4WinCortana/module.php");

$ips4WinCortana = new ips4WinCortana(29889 /*[ips4WinCortana\CortanaVoiceCommands]*/);

//Your code goes here...

$ips4WinCortana->EnableDebug(true);

 //you can add up to 100 sections (called Commands, each need a unique name like Block1\/Block2 or what ever you like)
 //each section can have up to 10 speach commands and include multiple PhraseLists (like {room}) entries
$ips4WinCortana->AddVoiceCommand("Block1","schalte das Licht im {room} {action}");
$ips4WinCortana->AddVoiceCommand("Block2","{action} das Rollo im {room}");

 //each section needs a Feedback and Example entry. Feedback is used when command was processed from Cortana
 //Example will shown, when user asks Cortana "What can I say?/Was kann ich sagen?"
$ips4WinCortana->AddCommandExample("Block1","schalte das Licht im Wohnzimmer an");
$ips4WinCortana->AddCommandExample("Block2","schliesse das Rollo im Büro");

$ips4WinCortana->AddCommandFeedback("Block1","ok, ich verarbeite deinen Befehl");
$ips4WinCortana->AddCommandFeedback("Block2","ich arbeite dran");

 //you can add multiple PhraseLists with an total of max. 2000 entries
$ips4WinCortana->AddActionPhraseCommand("action","öffne");
$ips4WinCortana->AddActionPhraseCommand("action","schliesse");
$ips4WinCortana->AddActionPhraseCommand("action","an");
$ips4WinCortana->AddActionPhraseCommand("action","aus");

$ips4WinCortana->AddActionPhraseCommand("actor","Rollo");
$ips4WinCortana->AddActionPhraseCommand("actor","Licht");
$ips4WinCortana->AddActionPhraseCommand("actor","Radio");

$ips4WinCortana->AddActionPhraseCommand("action","öffne");
$ips4WinCortana->AddActionPhraseCommand("action","schliesse");
$ips4WinCortana->AddActionPhraseCommand("action","schalte");
$ips4WinCortana->AddActionPhraseCommand("action","stelle");
$ips4WinCortana->AddActionPhraseCommand("action","ändere");
$ips4WinCortana->AddActionPhraseCommand("action","dimme");

$ips4WinCortana->AddActionPhraseCommand("status","an");
$ips4WinCortana->AddActionPhraseCommand("status","aus");
$ips4WinCortana->AddActionPhraseCommand("status","Hälfte");
$ips4WinCortana->AddActionPhraseCommand("status","0");
$ips4WinCortana->AddActionPhraseCommand("status","10");
$ips4WinCortana->AddActionPhraseCommand("status","17");
$ips4WinCortana->AddActionPhraseCommand("status","18");
$ips4WinCortana->AddActionPhraseCommand("status","19");
$ips4WinCortana->AddActionPhraseCommand("status","20");
$ips4WinCortana->AddActionPhraseCommand("status","21");
$ips4WinCortana->AddActionPhraseCommand("status","22");
$ips4WinCortana->AddActionPhraseCommand("status","23");
$ips4WinCortana->AddActionPhraseCommand("status","24");
$ips4WinCortana->AddActionPhraseCommand("status","30");
$ips4WinCortana->AddActionPhraseCommand("status","40");
$ips4WinCortana->AddActionPhraseCommand("status","50");
$ips4WinCortana->AddActionPhraseCommand("status","60");
$ips4WinCortana->AddActionPhraseCommand("status","70");
$ips4WinCortana->AddActionPhraseCommand("status","80");
$ips4WinCortana->AddActionPhraseCommand("status","90");
$ips4WinCortana->AddActionPhraseCommand("status","100");


$ips4WinCortana->AddActionPhraseCommand("room","Garten");
$ips4WinCortana->AddActionPhraseCommand("room","Wohnzimmer");
$ips4WinCortana->AddActionPhraseCommand("room","Küche");
$ips4WinCortana->AddActionPhraseCommand("room","Schlafzimmer");
$ips4WinCortana->AddActionPhraseCommand("room","Bad");
$ips4WinCortana->AddActionPhraseCommand("room","Kinderzimmer");
$ips4WinCortana->AddActionPhraseCommand("room","Garten");
$ips4WinCortana->AddActionPhraseCommand("room","Erdgeschoss");
$ips4WinCortana->AddActionPhraseCommand("room","Obergeschoss");
$ips4WinCortana->AddActionPhraseCommand("room","Flur")

 //ProcessData will convert all the entries to something readable for ips4Windows App
$ips4WinCortana->ProcessData();

kommt am Ende Fehlermeldung
Parse error: syntax error, unexpected ‚$ips4WinCortana‘ (T_VLE) in /var/lib/symcon/scripts/37449.ips.php on line 76
Scheinbar bin ich zu doof dazu.
Michael
PS entschuldige Sebimann das ich dir damit auf den Sack gehe aber ich weiss nicht mehr weiter. :banghead:

Bei der Zeile mit „Flur“ fehlt am Ende ein Semikolon.

mann,mann,mann manchmal sieht man den Wald vor lauter Bäumen nicht. Bin seit 1 Woche an diesem Prob und du sagst einfach, da fehlt ein Semikolon!!! OK ich glaub ich sollte mal ein wenig Abstand gewinnen.
Und im Winter in aller Ruhe wieder neu anzufangen. Aber erstmal Danke.
Michael :loveips:

Hallo Leute,
bei mir ändert sich der Wert unter Geofences nicht.Egal wo ich mit meinem Telefon bin es ist laut Geofences immer zu Hause. Hat jemand ein ähnliches Problem oder noch besser eine Lösung dazu parat?
Michael :confused:

Hallo Leute,
die App läuft super und ist der Hammer!!! Ich komme mit meinen PHP Kenntnissen aber nicht hinter den Fehler, den ich bei der Unterscheidung im WebHook Script mache. Das Script ist jungfräulich bis auf die IF Abfrage, die zum testen dient und nicht Funktioniert.

<? //Do not delete or modify.
include(IPS_GetKernelDirEx().„scripts/__ipsmodule.inc.php“);
include("…/modules/ips4Windows/ips4WinCortana/module.php");
$ips4WinCortana = new ips4WinCortana(53240 /[ips4WinCortana]/);
$ips4WinCortana->ProcessHookData();
if ($_POST[‚ips4Command‘] != „GetConfig“)
{

//Your code goes here…

$resultArray = $ips4WinCortana->GetCortanaResult();

if*($resultArray[‚romm‘]==„Wohnzimmer“)
{
IPS_RunScript (36382 /[S_Cortana\Cortana_Wohnzimmer]/);
}

//$resultArray has all the data from Cortana
//textSpoken - full message captured by Cortana
//CommandName - Command of textSpoken line, user defined in ips4CortanaSprachbefehle script (aka section)
//action - used entry from PhraseList defined in ips4CortanaSprachbefehle script
//room - used entry from PhraseList defined in ips4CortanaSprachbefehle script
//feedback - if you used SendFeedbackVerify or SendFeedbackVerifyDetailed you will get the result from this commands, multiple iteration will be added with „#+#“ as seperator. Use explode ( „#+#“ , $resultArray->feedback) to work with the result array
IPS_LogMessage(„WebHook Cortana“, print_r($resultArray, true));
//do something useful
//…
//Cortana waits for feedback, otherwise the request will timeout in seconds and shows an error
//Options: sucess - SendFeedbackSuccess(Msg), failure - SendFeedbackFailure(Msg)
//verify with yes/no - SendFeedbackVerify(Msg), verify with more option - SendFeedbackVerifyDetailed(Msg, ListofOptions as array)
$result = $ips4WinCortana->SendFeedbackSuccess(„Erfolgreich ausgeführt“);
//last line of the script must be an echo result
echo $result;
}

Parse error: syntax error, unexpected ‚*‘ (T_STRING) in [ips4WinCortana\ips4WinCortanaHook] on line 13

Ich kann meinen fehler einfach nicht erkennen… Ich danke euch für eure Bemühungen.
Gruß Christian

Hi Christian,

in deiner if Zeile hast du 3 Sterne (*), so wie ich das sehe, gehören die da nicht rein. Lösche diese mal weg.

if($resultArray['romm']=="Wohnzimmer")

Grüße Helmut

und prüfe noch mal ob ‚romm‘ oder ‚room‘ richtig ist :wink:

Hallo Hemut,
die Sterne waren Leerzeichen, die durch das Kopieren des Scripts in das Forumsformular entstanden sind. Die Leerzeichen in der IF Anweisung und in den{} waren aber genau das Problem… und natürlich das "romm":see_no_evil: Dankeschön für deine schnelle Hilfe!!!

Hallo,

bei der Neuinstallation auf einem 8" ASUS Windows 10 Tablet erhalte ich bei der Installation über den Windows Store die Fehlermeldung „Versuchen Sie es noch einmal. Fehler, siehe Detail, Fehlercode 0x80070490“.

Auch nach Neusart des Gerätes erhalte ich dann dieselbe Fehlermeldung.

Einer eine Idee ?

Gruß
zkra

Hallo zusammen, ich betreibe die App zusammen mit dem notwendigen Modul schon länger und es läuft super. Doch seit kurzem, ggf. seit einem der letzten Updates von IPS, passiert bei mir folgendes:

Für Cortana wird ja eine Instanz erstellt, darunter sind die beiden Skripte „ips4WinCortanaHook“ und „ips4WinCortanaSprachbefehle“ diese Skripte werden individuell angepasst.

Doch seit kurzem werden diese Skripte nach einem Neustart des IPS-Dienstes wieder überschrieben und das original Ursprungsskript ist wieder enthalten und die individuellen Änderungen weg.

Woher kommt es plötzlich, dass die Skripte überschrieben werden. Ich bin mir ziemlich sicher, dass es nicht immer so war. Was kann man tun, habt ihr das Problem auch… oder liegt es nur an meinem IPS?

Grüße Helmut

Hallo Helmut,

da ich in der letzten Zeit recht wenig an meinen Skripten gemacht habe, habe ich gerade mal getestet. Bei mir haben die beiden Skripte immer noch die Inhalte welche ich nach der Anpassung vergeben habe. Ich bin allerdings auch noch auf der IPS 4.0 (Version vom 24.05.2016).

Welche Version hast du im Einsatz?

Grüße
Seb.

Hallo Sebi,

die aktuellste Version vom 2.8.2016 ist bei mir im Einsatz, hatte neulich mal wieder das Update laufen lassen. Nachdem das Sicherheitsproblem vom Webserver angesprochen wurde…

Im Changelog vom 7.7.2016 steht:

-Fix: PHP Module: RegisterTimer/RegisterScript aktualisieren den Quellcode, falls dieser geändert wurde

Könnte das damit gemeint sein, dass es gewollt ist?

Grüße Helmut

Hallo Helmut,

dein Post hat bei mir erst mal ein größeres Problem gezeigt, welches Vorrang vor der Antwort hatte. Auch ich hatte schon das Update installiert, aber es war jetzt nicht mehr da. Bei meinem PI ist wohl die Speicherkarte defekt und Änderungen wurden nicht mehr zuverlässig geschrieben. Habe dann jetzt aus den Backupdaten eine neue Installation gemacht und nun habe ich das gleiche Problem wie du. Nach jedem Neustart wird das Script überschrieben, in meinen Augen sollte das so nicht sein, weil so machen die Module ja wenig Sinn.

Ich kläre das und melde mich wieder.

Grüße
Seb.

Hallo Sebi

Finde die App super nur leider bekomme ich von Cortana immer die Antwort das sie die Daten vom Server nicht versteht!
Kannst du mir da bitte helfen?

Danke im voraus Jürgen

Guten Tag,

ich habe heute die ips4Windows App am PC installiert und das Setup laut Anleitung durchgeführt.
beim Ausführen des ips4WinCortanaSprachbefehle Script bekomme ich folgende Fehlermeldung:

Fatal error: Cannot redeclare class boolean in C:\IP-Symcon\scripts__ipsmodule.inc.php on line 4

Hat jemand einen Tip was ich falsch mache.
Ich benutze Win10 mit IP-Symcon4

mfg,
M

Hallo zusammen,

ich bin gestern auf diese Windows App gestoßen.

Ich habe sie auch gleich mal getestet und musste leider feststellen, dass wenn man kein gültiges Server Zertifikat hat, es schwer ist, eine Verbindung über ssl aufzubauen. Jetzt ist meine Frage, gibt es in den untiefen irgendwo eine Möglichkeit diesem „ungültigen“ Zertifikaten zu vertrauen? (Bei Apple gibt es da eine Einstellmöglichkeit)

zu den Details:
Client --> Windows Mobile 10
Server --> Windows Server 2012 R2, IPS v4.x
Zugriff über eine Portfreigabe und dyndns link.

Aktuell verwende ich das ssl.cert von IPS

Hallo!

Habe da eine Frage bzgl. den Benachrichtigungen auf den LiveTiles.
Habe das gerade die Benachrichtigungen gemäß der Anleitung auf Pushbenachrichtigungen mit IPSv4.x ips4windows getestet und das funktioniert bei mir auch wunderbar. Aber wie bekomme ich die Benachrichtigungen auf den Live-Tiles wieder zurückgesetzt?

Üblicherweise hat man ja die Tile mit dem Logo darauf und darunter steht der App-Name, also ips4Windows.
Mit

ips4WNS_sendTileNotification(0, null, "text1", "text2", "text3", "text4");

kann ich nun schön 4 Zeilen Text auf das Live-Tile schreiben, was muss ich aber machen um wieder den Ur-Zustand, mit dem App-Logo zu bekommen?

Laut Anleitung sollte das gehen:

zum löschen Benachrichtigung kann man ips4WNS_sendBagdeNotification(0,null,“none“) senden

Das ist aber sicher ein Fehler in der Anleitung, weil die Funktion ips4WNS_sendBagdeNotification ja die BadgeNotification anpasst und nicht die TileNotification. Nichts desto trotz habe ich das dennoch getestet ohne Erfolg.

Danke vorab für eure Hilfe.

LG
Richard

Hallo Richard,

ich glaube das zurücksetzen der LiveTile habe ich auch nicht geschafft, ist schon eine weile her. Das in der Anleitung ist nur für die Zahl, das sehe ich auch so. Ich bin dann hergegangen und zeige eben immer etwas an, in meinem Fall wird die Temperatur und der Anwesenheitsstatus angezeigt. Ist auf jedenfall informativer als das Logo…

Aber wenn du eine Lösung findest, sag bescheid. Vielen Dank

Helmut

Hallo Helmut!

Habe nun eine Lösung gefunden.
Mittels einer entsprechend angepassten XML-Notification lasse ich mir die Tile so gestalten, dass da wieder das Logo angezeigt wird.
Das das aufgerufene Bild auch tatsächlich Logo.png lautet war jetzt Glück gewesen :wink:

Im Folgenden der XML-Code welchen ich in der Methode ips4WNS_sendTileNotificationXML mit schicke.

Wäre super wenn du da schon fix, ähnlich wie bei den Badge-Notifications das zurücksetzen der Tile mit einbauen kannst.

 // XML-Text zum zurücksetzen der Live-Tile erstellen und in Variable speichern
$xmlText = '
<tile>
  <visual>

    <binding template="TileSmall">
      <image src="Assets\Logo.png" />
    </binding>

    <binding template="TileMedium">
      <image src="Assets\Logo.png" />
    </binding>

    <binding template="TileWide">
      <image src="Assets\Logo.png" />
    </binding>

    <binding template="TileLarge">
      <image src="Assets\Logo.png" />
    </binding>

  </visual>
</tile>
';

// TileNotification an alle registrierten Geräte senden im XML-Format
 ips4WNS_sendTileNotificationXML(0, null, $xmlText);

LG Richard

Ich habe die App schon lange im Einsatz und bin begeistert.

Seit ein paar Tagen habe ich aber das Problem, dass immer ein Popup eingeblendet wird mit der Fehlermeldung „Error in SaveStateData! Message:Arg_NullReferenceException“.

Dieses muss man mit „Schliessen“ bestätigen, bevor man wieder auf das Webfront zugreifen kann. Manchmal sogar mehrfach. Neustart des Tablets hat leider nichts gebracht.

Jemand eine Idee wo das Problem liegt?