+ Antworten
Seite 1 von 6 1 2 3 ... LetzteLetzte
Ergebnis 1 bis 10 von 54
  1. #1
    Registriert seit
    Sep 2007
    Ort
    Bodensee
    Beiträge
    953

    Standard Fritz!Card + AB unter IPS V2.2

    Hallo zusammen,

    da mir das Auslesen der FritzboxFon so sehr gefallen hat, ich aber nur eine Fritz!Card PCI im Server stecken hab, hab ich ein Tool geschrieben, welches dieselbe Funktionalität ermöglicht. Zusätzlich kann man noch den AB integrieren. Löschen etc. funktioniert alles.
    Wenn Interesse besteht, werde ich das Tool, wie schon bei iTunesCtl, konfigurierbar machen und euch zur Verfügung stellen.
    Das Tool läuft im Hintergrund und sendet bei Änderungen an der Fritz!-Datenbank Infos an IPS. Diese werden dann weiterverarbeitet. Im Gegenzug kriegt das Tool Änderungen mit, wenn ein Anruf auf dem AB gelöscht werden soll. Der Eintrag wird dann aus der Datenbank als "gelesen" markiert.
    Anbei ein Screenshot.

  2. #2
    Registriert seit
    Jul 2005
    Ort
    Schwanewede/Niedersachsen
    Beiträge
    1,889

    Hallo dfhome,

    hätte schon interesse. Da ich immer noch eine externe Lösung nutze, könnte ich so etwas gut gebrauchen
    Gruss
    Horst

    IP-Symcon 5.0 IPS-868, FS20, HM, HUE, Plugwise

  3. #3
    Registriert seit
    Nov 2007
    Ort
    München
    Beiträge
    310

    Das sieht ja richtig gut aus.
    Ich würde mich auch sehr freuen, wenn Du das posten würdest!
    Grüße
    Matthias
    ----------------------------------------
    Homematic (CCU2 - Rauchmelder - 6-fach Taster - Dimmer - Schalter - Leistungsmessung) / ArtNet&DMX (230V-Dimmer-Packs - RGB-LED-Dimmer - RGB-LED PAR56) / Beamer per Bluetooth / Denon3808 & Sonos / --> IPS 4.x, Webfront & iFront

  4. #4
    Registriert seit
    Sep 2007
    Ort
    Bodensee
    Beiträge
    953

    Ok, dann fang ich mal an, die Objekte in IPS und die Skripte zu posten.
    Die Variablen bitte wie im ersten Bild anlegen.
    Das Event bei "Neue Nachrichten" ist nicht zwingend erforderlich. Das hab ich nur, um in einer Variable auf der Home-Seite anzuzeigen, dass neue Nachrichten vorhanden sind. Ich poste das Skript aber trotzdem mal.

    Skript "Hinweis" (Trigger siehe Screenshot):
    PHP-Code:
    <?
    SetValue
    (22902 /*[Info\Anrufbeantworter]*/false); //Boolean-Variable auf dem Home-Screen
    if (GetValue(20837 /*[Telefon\Neue_Nachrichten]*/) > 0) {
        
    $text strval(GetValue(20837 /*[Telefon\Neue_Nachrichten]*/))." neue Nachricht(en)";
        
    IPS_SetVariableProfileAssociation("Status_AB"1$text"New_AB"); //Hierfür ein neues Variablenprofil "Status_AB" anlegen (Boolean)
    //Der Text für "False" ist immer "Keine neuen Nachrichten".
        
    SetValue(22902 /*[Info\Anrufbeantworter]*/true);
    }
    ?>
    Skript "Trigger_Steuerung":
    PHP-Code:
    <?
    // Arrays erzeugen
    $date explode("|"GetValue(50567 /*[Telefon\Array_Datum]*/));
    $number explode("|"GetValue(12208 /*[Telefon\Array_Nummer]*/));
    $fname explode("|"GetValue(37900 /*[Telefon\Array_Pfad]*/));

    switch (
    $IPS_VALUE) {
        case 
    0:
            
    SetValue(43762 /*[Telefon\Anrufbeantworter\Steuerung]*/0);
            
    // Vorherige Nachricht
            
    if (GetValue(24133 /*[Telefon\Index_Nachricht]*/) > 1) {
              
    SetValue(24133 /*[Telefon\Index_Nachricht]*/GetValue(24133 /*[Telefon\Index_Nachricht]*/) - 1);
              
    $index GetValue(24133 /*[Telefon\Index_Nachricht]*/);
              
    // Anzeige aktualisieren
              
    SetValue(12130 /*[Telefon\Anrufbeantworter\Nachricht]*/strval($index)."/".GetValue(15183 /*[Telefon\Anzahl_Nachrichten]*/));
              
    SetValue(38492 /*[Telefon\Anrufbeantworter\Datum]*/$date[$index-1]);
              
    SetValue(48843 /*[Telefon\Anrufbeantworter\Rufnummer]*/$number[$index-1]);
              
    // Pfad aktualisieren
              
    SetValue(12188 /*[Telefon\Pfad_Nachricht]*/$fname[$index-1]);
            } elseif (
    GetValue(24133 /*[Telefon\Index_Nachricht]*/) == 1) {
              
    SetValue(24133 /*[Telefon\Index_Nachricht]*/GetValue(15183 /*[Telefon\Anzahl_Nachrichten]*/));
              
    $index GetValue(24133 /*[Telefon\Index_Nachricht]*/);
              
    // Anzeige aktualisieren
              
    SetValue(12130 /*[Telefon\Anrufbeantworter\Nachricht]*/strval($index)."/".GetValue(15183 /*[Telefon\Anzahl_Nachrichten]*/));
              
    SetValue(38492 /*[Telefon\Anrufbeantworter\Datum]*/$date[$index-1]);
              
    SetValue(48843 /*[Telefon\Anrufbeantworter\Rufnummer]*/$number[$index-1]);
              
    // Pfad aktualisieren
              
    SetValue(12188 /*[Telefon\Pfad_Nachricht]*/$fname[$index-1]);
            }
            break;
        case 
    1:
            
    SetValue(43762 /*[Telefon\Anrufbeantworter\Steuerung]*/1);
            
    // Nachricht abspielen
            
    $index GetValue(24133 /*[Telefon\Index_Nachricht]*/);
            
    SetValue(12569 /*[Telefon\Index_Abgehört]*/$index-1);
            
    $file $fname[$index-1];
            if (
    GetValue(29255 /*[Telefon\Player\Status]*/) != 2) {
                  
    WAC_PlayFile(46694 /*[Telefon\Player]*/$file);
                    }
            break;
        case 
    2:
            if (
    GetValue(29255 /*[Telefon\Player\Status]*/) == 1) {
                
    SetValue(43762 /*[Telefon\Anrufbeantworter\Steuerung]*/2);
               
    WAC_Stop(46694 /*[Telefon\Player]*/);
            }
            break;
        case 
    3:
            
    SetValue(43762 /*[Telefon\Anrufbeantworter\Steuerung]*/3);
            
    // Nachricht löschen
            
    if (GetValue(15183 /*[Telefon\Anzahl_Nachrichten]*/) > 0) {
              
    $index GetValue(24133 /*[Telefon\Index_Nachricht]*/);
              
    SetValue(54907 /*[Telefon\Index_Löschen]*/$index-1);
              if (
    $index == GetValue(15183 /*[Telefon\Anzahl_Nachrichten]*/)) {
                
    SetValue(15183 /*[Telefon\Anzahl_Nachrichten]*/GetValue(15183 /*[Telefon\Anzahl_Nachrichten]*/)-1);
                
    SetValue(24133 /*[Telefon\Index_Nachricht]*/GetValue(24133 /*[Telefon\Index_Nachricht]*/)-1);
                
    // Eintrag aus Array löschen und String neu setzen
                
    unset($date[$index-1]);
                
    $date array_values($date);
                unset(
    $number[$index-1]);
                
    $number array_values($number);
                unset(
    $fname[$index-1]);
                
    $fname array_values($fname);
                if (
    GetValue(15183 /*[Telefon\Anzahl_Nachrichten]*/) > 0) {
                  
    $tmp implode("|"$date);
                  
    SetValue(50567 /*[Telefon\Array_Datum]*/$tmp);
                  
    $tmp implode("|"$number);
                  
    SetValue(12208 /*[Telefon\Array_Nummer]*/$tmp);
                  
    $tmp implode("|"$fname);
                  
    SetValue(37900 /*[Telefon\Array_Pfad]*/$tmp);
                  
    // Anzeige aktualisieren
                  
    $index -= 1;
                  
    SetValue(12130 /*[Telefon\Anrufbeantworter\Nachricht]*/strval($index)."/".GetValue(15183 /*[Telefon\Anzahl_Nachrichten]*/));
                  
    SetValue(38492 /*[Telefon\Anrufbeantworter\Datum]*/$date[$index-1]);
                  
    SetValue(48843 /*[Telefon\Anrufbeantworter\Rufnummer]*/$number[$index-1]);
                   
    // Pfad aktualisieren
                     
    SetValue(12188 /*[Telefon\Pfad_Nachricht]*/$fname[$index-1]);
                } else {
                  
    SetValue(12130 /*[Telefon\Anrufbeantworter\Nachricht]*/"0/0");
                  
    SetValue(38492 /*[Telefon\Anrufbeantworter\Datum]*/"-");
                  
    SetValue(48843 /*[Telefon\Anrufbeantworter\Rufnummer]*/"-");
                 }
              } elseif (
    $index GetValue(15183 /*[Telefon\Anzahl_Nachrichten]*/)) {
                
    SetValue(15183 /*[Telefon\Anzahl_Nachrichten]*/GetValue(15183 /*[Telefon\Anzahl_Nachrichten]*/)-1);
                
    // Eintrag aus Array löschen und String neu setzen
                
    unset($date[$index-1]);
                
    $date array_values($date);
                unset(
    $number[$index-1]);
                
    $number array_values($number);
                unset(
    $fname[$index-1]);
                
    $fname array_values($fname);
                if (
    GetValue(15183 /*[Telefon\Anzahl_Nachrichten]*/) > 0) {
                  
    $tmp implode("|"$date);
                  
    SetValue(50567 /*[Telefon\Array_Datum]*/$tmp);
                  
    $tmp implode("|"$number);
                  
    SetValue(12208 /*[Telefon\Array_Nummer]*/$tmp);
                  
    $tmp implode("|"$fname);
                  
    SetValue(37900 /*[Telefon\Array_Pfad]*/$tmp);
                  
    // Anzeige aktualisieren
                  
    SetValue(12130 /*[Telefon\Anrufbeantworter\Nachricht]*/strval($index)."/".GetValue(15183 /*[Telefon\Anzahl_Nachrichten]*/));
                  
    SetValue(38492 /*[Telefon\Anrufbeantworter\Datum]*/$date[$index-1]);
                  
    SetValue(48843 /*[Telefon\Anrufbeantworter\Rufnummer]*/$number[$index-1]);
                   
    // Pfad aktualisieren
                     
    SetValue(12188 /*[Telefon\Pfad_Nachricht]*/$fname[$index-1]);
                } else {
                  
    SetValue(38492 /*[Telefon\Anrufbeantworter\Datum]*/"-");
                  
    SetValue(48843 /*[Telefon\Anrufbeantworter\Rufnummer]*/"-");
                  
    SetValue(12130 /*[Telefon\Anrufbeantworter\Nachricht]*/"0/0");
                }
              }
            }
            break;
        case 
    4:
            
    SetValue(43762 /*[Telefon\Anrufbeantworter\Steuerung]*/4);
            
    // Nächste Nachricht
            
    if (GetValue(24133 /*[Telefon\Index_Nachricht]*/) < GetValue(15183 /*[Telefon\Anzahl_Nachrichten]*/)) {
              
    SetValue(24133 /*[Telefon\Index_Nachricht]*/GetValue(24133 /*[Telefon\Index_Nachricht]*/)+1);
              
    $index GetValue(24133 /*[Telefon\Index_Nachricht]*/);
              
    // Anzeige aktualisieren
              
    SetValue(12130 /*[Telefon\Anrufbeantworter\Nachricht]*/strval($index)."/".GetValue(15183 /*[Telefon\Anzahl_Nachrichten]*/));
              
    SetValue(38492 /*[Telefon\Anrufbeantworter\Datum]*/$date[$index-1]);
              
    SetValue(48843 /*[Telefon\Anrufbeantworter\Rufnummer]*/$number[$index-1]);
              
    // Pfad aktualisieren
              
    SetValue(12188 /*[Telefon\Pfad_Nachricht]*/$fname[$index-1]);
            } elseif (
    GetValue(24133 /*[Telefon\Index_Nachricht]*/) == GetValue(15183 /*[Telefon\Anzahl_Nachrichten]*/)) {
              
    SetValue(24133 /*[Telefon\Index_Nachricht]*/1);
              
    $index GetValue(24133 /*[Telefon\Index_Nachricht]*/);
              
    // Anzeige aktualisieren
              
    SetValue(12130 /*[Telefon\Anrufbeantworter\Nachricht]*/strval($index)."/".GetValue(15183 /*[Telefon\Anzahl_Nachrichten]*/));
              
    SetValue(38492 /*[Telefon\Anrufbeantworter\Datum]*/$date[$index-1]);
              
    SetValue(48843 /*[Telefon\Anrufbeantworter\Rufnummer]*/$number[$index-1]);
              
    // Pfad aktualisieren
              
    SetValue(12188 /*[Telefon\Pfad_Nachricht]*/$fname[$index-1]);
            }
            break;
    }
    ?>
    Ich hab mir leider nicht die Mühe gemacht, die Variablen oben zu definieren. Also am besten mit nem Texteditor die ID´s ersetzen lassen...

    Skript "Trigger_Status":
    PHP-Code:
    <?
    switch ($IPS_VALUE) {
        case 
    3:
            
    SetValue(43762 /*[Telefon\Anrufbeantworter\Steuerung]*/2);
        break;
    }
    ?>
    Das Tool werd ich nachher ändern und dann auch noch posten.

    Gruß
    dfhome
    Geändert von dfhome (25.04.10 um 07:51 Uhr)
    HM via piVCCU3

  5. #5
    Registriert seit
    Sep 2007
    Ort
    Bodensee
    Beiträge
    953

    So, hier das Tool. Konfig über die config.xml.
    Viel Spaß!

    Achso: die Anrufer-Icons bitte in "user/fritz/" ablegen.
    Geändert von dfhome (17.05.10 um 15:17 Uhr) Grund: Neue Version hochgeladen
    HM via piVCCU3

  6. #6
    Registriert seit
    Apr 2007
    Ort
    Lüneburg
    Beiträge
    3,518

    Hallo dfhome,

    die AB-Abfrage sieht ja super aus!
    Funktioniert das ganze auch mit der Fritz!Box?

    Joachim
    IP-Symcon seit 12/2009, iPhoneApp seit 01/2011, IPSView seit 12/2014!
    3xSiemensLOGO0BA7+DM16, 1xInstar 3010PoE, 1xInstar 2905PoE, 1x1-WireHub mit DS2450 von Eservice-online, 15xDS1820, 1xDS2423, 1xDS2408

  7. #7
    Registriert seit
    Sep 2007
    Ort
    Bodensee
    Beiträge
    953

    Hallo Joachim,

    ich kenne leider nicht den Aufbau der FritzBox, aber ich bezweifel es stark... FritzCard läuft über ne dbase-Datenbank und die FritzBox wird das sicher anders gelöst haben.
    HM via piVCCU3

  8. #8
    Registriert seit
    Apr 2007
    Ort
    Lüneburg
    Beiträge
    3,518

    Hallo dfhome,

    vielen Dank für Deine Antwort. Irgendwie finde ich aber den Ansatz sehr gut (bin ja auch eher so ein Datenbank-"Fan" )

    Vielleicht kann man die Dateien vom Stick der Fritz!Box ja auch in eine Datenbank kopieren, und sie dann hören, löschen usw.?

    Mal schauen was mir dazu noch so einfällt...

    Joachim
    IP-Symcon seit 12/2009, iPhoneApp seit 01/2011, IPSView seit 12/2014!
    3xSiemensLOGO0BA7+DM16, 1xInstar 3010PoE, 1xInstar 2905PoE, 1x1-WireHub mit DS2450 von Eservice-online, 15xDS1820, 1xDS2423, 1xDS2408

  9. #9
    Registriert seit
    Feb 2006
    Ort
    Riyadh, KSA
    Beiträge
    262

    Zitat Zitat von dfhome Beitrag anzeigen
    So, hier das Tool. Konfig über die config.xml.
    Hallo dfhome,

    Vielen Dank für das Tool. Da ich meine alten Anrufbeantworterskripte aus der V1 nicht mehr einsetzen kann wegen dem noch immer vorhandenem "Disconnect" Problem im ISDN Modul, suche ich schon seit langem an einer Alternative. Ein Lesen der dbase Datenbank hatte ich schon versucht aber direkt von IPS aus über PHP ist es sehr langsam.

    Mich würde auch sehr interessieren, den Anrufbeantworter von IPS aus ein und ausschalten zu können, oder die Zeit zur Antwort zu ändern. Wäre das möglich?

    Gruss,

    Zapp

  10. #10
    Registriert seit
    Sep 2007
    Ort
    Bodensee
    Beiträge
    953

    Puh, da müsste man die API einbinden (wenn es denn da eine gibt...). Kann ich mal bei Gelegenheit schauen.
    HM via piVCCU3

Ähnliche Themen

  1. Newbie hat eine Frage! Mail per IPS?
    Von Xanon im Forum Allgemeine Diskussion
    Antworten: 7
    Letzter Beitrag: 14.10.10, 18:40
  2. FritzBox 7270 an IPS V2.2
    Von computerpap im Forum Audio & Video, TK-Anlagen, ISDN
    Antworten: 25
    Letzter Beitrag: 13.04.10, 20:12
  3. ELV Bussystem HS485 für IPS ab V2.2
    Von RWN im Forum Anleitungen / Nützliche PHP Skripte
    Antworten: 3
    Letzter Beitrag: 27.03.10, 14:03
  4. IPS hängt sich auf nach SSL aktivieren
    Von pleibling im Forum Allgemeine Diskussion (2.x/3.x)
    Antworten: 2
    Letzter Beitrag: 26.10.08, 20:18