+ Antworten
Seite 1 von 8 1 2 3 ... LetzteLetzte
Ergebnis 1 bis 10 von 73
  1. #1
    Registriert seit
    Feb 2005
    Ort
    Lübeck
    Beiträge
    20,785

    Cool IP-Symcon mit VoIP/SIP Support

    Unfassbar, aber wahr. Zwar viel zu spät - aber wie man doch so schön sagt: Besser spät, als nie.

    Wir haben endlich etwas, dass wir vorzeigen können. Ein Revival unseres Mega-Vote Events, welches mit dem ISDN Modul 2005 in Thema mit der Nummer 126 Premiere gefeiert hat! (Link). Wer war da schon mit dabei?

    Wir arbeiten daran, dass wir endlich VoIP/SIP Support zu IP-Symcon 5.1 5.2 anbieten können.
    Einen ersten Vorgeschmack könnt ihr ausprobieren, indem ihr unter folgender Rufnummer anruft:

    Vote-Hotline: 0451 / 30 500 511 8

    Die Ergebnisse werden Live aktualisiert, nachdem ihr aufgelegt habt! (Und wir wollen nur beste Noten, bitte )

    Auswertung: Mega-Vote Auswertung - Powered by IP-Symcon WebFront


    Natürlich gibt es auch einen Gewinner!

    Unter allen Teilnehmern verlosen wir eine der heiß begehrten IP-Symcon Tassen. Der Gewinner wird telefonisch oder per SMS benachrichtigt und kann den Gewinn auf dem Symcon Event 2019 feierlich entgegennehmen. Im Rahmen des Datenschutzes weise ich darauf hin, dass dazu beim Anruf eure Telefonnummer gespeichert wird. Nach Abschluss des Mega-Vote Events werden alle Daten gelöscht.

    paresy

    PS: Wenn unsere Vote-Hotline überlastet ist (=IP-Symcon is abgestürzt), versuche ich dies so schnell wie möglich zu korrigieren.

    Anbei der Quellcode zum nachstöbern:
    PHP-Code:
    <?

    $id_voip 
    58519;
    $id_tts 34810
    $id_text 34742;
    $id_blacklist 36888;
    $id_archive 35323;
    $id_calls 26475;
    $id_count 22795;
    $id_result 54098;
    $id_results 56462;

    if(
    $_IPS['SENDER'] == "VOIP") {
        
    //We only want to handle incoming messages
        
    if(VOIP_GetConnection($id_voip$_IPS["CONNECTION"])["Direction"] == /* Outgoing */)
            return;

        switch(
    $_IPS["EVENT"]) {
            case 
    "Incoming":
                
    VOIP_SetData($id_voip$_IPS["CONNECTION"], json_encode([
                    
    "Number" => $_IPS["DATA"],
                    
    "Vote" => 0
                
    ]));
                
    //WFC_SendNotification(31245, "Neuer Teilmehmer!", maskPhoneNumber($_IPS["DATA"]), "Telephone", 5);
                
    break;
            case 
    "Connect":
                
    $data json_decode(VOIP_GetData($id_voip$_IPS["CONNECTION"]), true);
                
    $blacklist json_decode(GetValue(id_blacklist), true);
                
    $found false;
                foreach(
    $blacklist as $number) {
                    if(
    $number == $data["Number"]) {
                        
    VOIP_PlayWave($id_voip$_IPS["CONNECTION"], IPS_GetKernelDir() . "/media/abgelehnt.wav");
                        
    $data["Vote"] = -1;
                        
    VOIP_SetData($id_voip$_IPS["CONNECTION"], json_encode($data));
                        
    $found true;
                        break;                  
                    }
                }
                if(!
    $found) {
                    
    VOIP_PlayWave($id_voip$_IPS["CONNECTION"], IPS_GetKernelDir() . "/media/willkommen.wav");
                }
                break;
            case 
    "Disconnect":
                
    $data json_decode(VOIP_GetData($id_voip$_IPS["CONNECTION"]), true);
                
    SetValue($id_calls$data["Number"] . " = " $data["Vote"]);
                break;
            case 
    "DTMF":
                
    $data json_decode(VOIP_GetData($id_voip$_IPS["CONNECTION"]), true);
                if(
    $data["Vote"] != 0) {
                    
    VOIP_PlayWave($id_voip$_IPS["CONNECTION"], IPS_GetKernelDir() . "/media/fertig.wav");
                } else {
                    switch(
    $_IPS["DATA"]) {
                        case 
    1:
                        case 
    2:
                        case 
    3:
                        case 
    4:
                        case 
    5:
                        case 
    6:
                            
    VOIP_PlayWave($id_voip$_IPS["CONNECTION"], IPS_GetKernelDir() . "/media/danke_".$_IPS["DATA"].".wav");
                            
    $data["Vote"] = $_IPS["DATA"];
                            
    VOIP_SetData($id_voip$_IPS["CONNECTION"], json_encode($data));

                            
    //Add to blacklist
                            
    if($data["Vote"] == 6) {
                                
    $blacklist json_decode(GetValue(id_blacklist), true);
                                
    $blacklist[] = $data["Number"];
                                
    SetValue(id_blacklistjson_encode($blacklist));
                            }

                            break;        
                        case 
    '#':
                            
    VOIP_PlayWave($id_voip$_IPS["CONNECTION"], TTSAWSPOLLY_GenerateFile($id_ttsGetValue($id_text)));
                            break;
                        default:    
                            
    VOIP_PlayWave($id_voip$_IPS["CONNECTION"], IPS_GetKernelDir() . "/media/ungueltig.wav");
                            break;                 
                    }
                }
        }
    }

    //Source: https://medium.com/@yemiwebby/replace-some-characters-with-asterisks-in-php-using-str-repeat-2c78b3899bad
    function maskPhoneNumber($number){   
        return 
    str_repeat("*"strlen($number)-4) . substr($number, -4);
    }

    //Get all calls. This is not efficient, but does the job for our low volume hotline.
    $calls AC_GetLoggedValues($id_archive$id_calls000);
    $result 0;
    $count 0;
    foreach(
    $calls as $call) {
        if(
    preg_match("/.*\ =\ (\d)/"$call["Value"], $matches)) {
            
    $result += intval($matches[1]);
            
    $count++;
        }
    }

    SetValue($id_count$count);
    SetValue($id_resultnumber_format($result $count2));

    //Render table only with latest calls...
    $calls array_splice($calls010);

    $html "<table style='width: 100%; border-collapse: collapse;'>";
    $html .= "<tr>";
    $html .= "<td style='padding: 5px; font-weight: bold;'>Datum/Uhrzeit</td>";
    $html .= "<td style='padding: 5px; font-weight: bold;'>Telefonnummer</td>";
    $html .= "<td style='padding: 5px; font-weight: bold;'>Note</td>";
    $html .= "</tr>";

    foreach(
    $calls as $call) {
        
    preg_match("/(.*) = (.*)/"$call["Value"], $result);

        if(
    $result[2] == -1) {
            
    $result[2] = "Blockiert";
        } else if(
    $result[2] == 0) {
            
    $result[2] = "Abgebrochen";
        }   

        
    $html .= "<tr style='border-top: 1px solid rgba(255,255,255,0.10);'>";
        
    $html .= "<td style='padding: 5px;'>".date("d.m.Y H:i"$call["TimeStamp"])."</td>";
        
    $html .= "<td style='padding: 5px;'>".maskPhoneNumber($result[1])."</td>";
        
    $html .= "<td style='padding: 5px;'>".$result[2]."</td>";
        
    $html .= "</tr>";
    }

    $html .= "</table>";

    SetValue($id_results$html);

    ?>
    Beipspiel zum Anrufen und Nachricht hinterlassen. (Etwas simpel. Es geht auch schöner über Events )

    PHP-Code:
     $id VOIP_Connect(56175"045130500511");

     for(
    $i 0$i <= 5$i++) {
         
    IPS_Sleep(1000);
         
    $c VOIP_GetConnection(56175$id);
         if(
    $c['Connected']) {
            
    VOIP_PlayWave(56175$idIPS_GetKernelDir() . "/media/willkommen.wav");
            
    //VOIP_PlayWave(56175, $id, TTSAWSPOLLY_GenerateFile(34810, "Alarm! Es brennt im Keller!"));
            
    return;
         }
     }

     
    VOIP_Disconnect(56175$id); 
    Angehängte Dateien Angehängte Dateien
    Geändert von paresy (21.06.19 um 11:50 Uhr)

  2. #2
    Registriert seit
    Aug 2016
    Beiträge
    2,427

    Standard IP-Symcon mit VoIP/SIP Support

    Ich habe heute Mittag noch überlegt, als der Thread mit der Keynote kam, irgendetwas neues muss es geben.

    Genial!

    Edit: Funktioniert! richtig cool!

    Grüße,
    Kai


    Gesendet von iPhone mit Tapatalk
    Geändert von KaiS (17.08.18 um 21:30 Uhr)
    IPS 5.1 Ninja, auf Tinkerboard und RPI, piVCCU, Homematic & Homematic IP, diverse Tasmota Geräte, Shelly, GHoma, LG HomBot, Sonos, Tvheadend, HomeKit, AppleTV

  3. #3
    Registriert seit
    May 2006
    Ort
    Hannover
    Beiträge
    3,041

    Zitat Zitat von paresy Beitrag anzeigen
    Wer war da schon mit dabei?
    Ich .

    Das war meine erste "Fernbedienung" um im Garten Licht, Wasserspiel, etc. zu schalten.
    MfG Ralf

  4. #4
    Registriert seit
    Nov 2016
    Beiträge
    215

    Sehr cool! Habe gleich mal eine 1 mit Sternchen gegeben :-)

    Hoffentlich funktioniert das auch unter Linux?
    Geändert von DrFrank (18.08.18 um 15:22 Uhr)

  5. #5
    Registriert seit
    Sep 2008
    Ort
    nr KS
    Beiträge
    1,888

    wer ist denn ***mous ??
    Diese Nachricht besteht zu 100% aus chlorfrei gebleichten, glücklichen und zufriedenen Elektronen.
    IP-Symcon Version: 5.2ß unlim auf WIN7pro
    Shuttle XS35V4,HPSlate21,IPS-868,HM,HMip,FS20,piVCCU3,Silex4000,IPcams, FB 7850, TM-D710GE(GPS), Raspi3

  6. #6
    Registriert seit
    Nov 2009
    Ort
    Essen
    Beiträge
    1,971

    Wahrscheinlich Anonymous
    Deutschlandweite Dienstleistungen rund um und mit IP-Symcon - hauptsächlich im Bereich KNX. ekey Partner. DoorBird Partner. --> https://schrader-it.net

  7. #7
    Registriert seit
    Mar 2013
    Ort
    Issum
    Beiträge
    652

    Freue mich schon auf die erste Beta :-)
    WAGO 750-880 / IPS unl. auf Tinkerboard S / IPSView / Amazon Echo und vieles mehr

  8. #8
    Registriert seit
    Jun 2011
    Ort
    Thüringen
    Beiträge
    1,196

    ich auch
    IPS 5.x (beta) auf W10x64 in Hyper-V von W2016, FHZ1300, WDE-01, Homematic-CCU2, VISION-Z-WAVE-Stick alles über Silex-SX3000GB, 2*RaZberry,FHT80x, FS20 BidCos-RM, 19*FIBARO-Roller Shutter (V1+2), 15*Fibaro(-Dimmer, -Sensoren, -Switche), 7*Raspberry-PI2 ü. JSON-RPC, 3 VISION-Bewegungsmelder, 2 AEON-Multisensor, Homematic-Aktoren,15*Plugwise, 6 PhilioSensoren,

  9. #9
    Registriert seit
    Feb 2009
    Ort
    Wiesbaden
    Beiträge
    86

    Oh ja, ich mich auch


    Gesendet von iPhone mit Tapatalk
    Fritzbox 7490 / Intel J2900 2,4GHz 8GB Ram / +100 Homatic Komponenten an CCU2 / 1 Wire / IPS 868 / Buderus über KM200 / RESOL Solaranalge / Oregon Wetterstation

  10. #10
    Registriert seit
    Apr 2010
    Beiträge
    421

    ich würde mir einen VOIP Türklingel Support mit Video wünschen. Pop up in der App mit Video und Buttons für Verbindung mit sprechen und Türöffner..
    Eltako 12er und 14er Bus, IPS auf Pi

Ähnliche Themen

  1. Antworten: 210
    Letzter Beitrag: 05.08.17, 16:40
  2. XPort Direct Support mit Raspberry und Symcon 4.1 ?
    Von babba im Forum Allgemeine Diskussion
    Antworten: 3
    Letzter Beitrag: 19.11.16, 17:52
  3. Türsprechanlage mit SIP und Gesichtserkennung
    Von oheidinger im Forum Schaufenster
    Antworten: 5
    Letzter Beitrag: 05.07.14, 09:40
  4. iP-Symcon CUL Support
    Von mdbrean im Forum Sonstige Funkkomponenten / Wetterstationen
    Antworten: 17
    Letzter Beitrag: 13.12.11, 21:40