+ Antworten
Ergebnis 1 bis 6 von 6
  1. #1
    Registriert seit
    Jun 2009
    Beiträge
    5

    Smile Events & Client Socket mit Fritzbox via LAN

    Hallo,
    ich bin seit einer Woche stolzer Besitzer der IPS und blicke noch nicht richtig druch. Nachdem ich lange gesucht aber leider nicht gefunden habe, traue ich mich nun auch mal zu fragen.
    Ich habe hier eine Beispiel mit einer Client Socket Verbindung für mich angepasst. Im DebugMode meldet sich die Fritzbox und übermittelt Daten.
    Ich habe aber leider das Prinzip der Eventsteuerung wohl noch nicht verstanden. Meine Frage ist jetzt: Wie bekomme ich das Script bei Anruf zum starten?

    PHP-Code:
    <?
    // In Array packen
    $daten    explode(";"$IPS_VALUE);
    switch(
    $daten[1]){
       case 
    "RING":
          print 
    "Telefonnummer: ".$daten[3];
          break;
       case 
    "DISCONNECT":
          print 
    "Gespräch beendet";
          break;
    }
    ?>
    Gruß Alois
    Geändert von Ferengi-Master (27.06.09 um 21:23 Uhr) Grund: Forenrichtlinien und allgemeine Hinweise beachten

  2. #2
    Registriert seit
    Jan 2007
    Ort
    Nidda(Hessen)
    Beiträge
    7,337

    Hallo Alois,

    davon ausgehend das Du eine Registervariable benutzt, das Script der Registervariable zuweisen. Danach stehen deine Daten in $IPS_VALUE zur Verfügung.
    Gruß Rainer


    Unmögliches wird sofort erledigt, Wunder dauern etwas länger.


  3. #3
    Registriert seit
    Jun 2009
    Beiträge
    5

    Hallo,
    danke für deine Info. Mein Problem ist, das ich das Konzept noch nicht richtig verstehe. Ich dachte, dass die Daten automatisch in die Variable $IPS_VALUE landen. Ich suche nun deinen Rat umzusetzen, finde jedoch keine Möglichkeit diese Registervariable zuzuweisen. Wie gesagt, ich bin Neuling .
    Ich habe in der Doku das kapitel Registervariablen gelesen, aber nicht wirklich verstanden.
    Vielleicht ist ja jemand so nett und hilft mir auf die Sprünge.......
    Vielen Dank
    Alois

  4. #4
    Registriert seit
    Feb 2007
    Ort
    Zwickau
    Beiträge
    5,498

    Hallo Alois,

    im Objektbaum findest du unter Instanz hinzufügen -> Hersteller (none) -> Registervariable
    Die übergeordnete Instanz zuweisen und in der Registervariable das Script angeben wo die Daten landen sollen, das Script wird automatisch befeuert wenn Daten ankommen, diese kannst Du dann über $IPS_VALUE im Script selber auswerten etc.
    MfG Thomas

    Eaton Xcomfort|FS20|1-Wire|Axis WebCams|Funksystem-868|Gas und Wasserzähler per S0 1-Wire|Amazon Alexa|Daikin Klimaanlage

    Denon+Onkyo Receiver|Visu auf: 10"Touchscr.|Apple iPod Touch|Apple iPhone|Apple iPad|IPS V5.x|Dashboard|WebFront|iFront

  5. #5
    Registriert seit
    Aug 2008
    Ort
    Sereetz
    Beiträge
    1,649

    Damit $IPS_VALUE einen Wert haben kann muss der ja erstmal von irgendwo kommen. RegisterVariable ist eine Instanz, die Daten von I/O-Instanzen, wie deinem seriellen Anschluss, holt und dem eingestellten Skript in $IPS_VALUE zur Verarbeitung übergibt. Normale Ereignisse funktionieren hier nicht, da man die nur auf Variablen basierend erzeugen kann, die I/O-Instanzen nicht haben, da sonst binäre Daten die settings.xml zerstören können und Semaphoren auch nicht für serielle Ausführung garantieren würden. RegisterVariable hat darüber hinaus einen Buffer für Binärdaten, sodass Du Datenblöcke zum Zusammensetzen nicht in normale String-Variablen packen musst, was, wie gesagt, zu einer defekten settings.xml führen könnte.
    Horst

  6. #6
    Registriert seit
    Jun 2009
    Beiträge
    5

    Coole Aktion, nun klappts. Aller Anfang ist schwer... macht aber riesen Spass.
    Bei Anruf schicke ich mir jetzt ne Mail auf meinen Blackberry.
    Vielen Dank an Euch.

    Gruß Alois.

    Ich werde bestimmt nochmal so'ne blöde Frage stellen