SMS gateway - Telldus Duo

Moderator: Telldus

Post Reply
Corepoint
Posts: 7
Joined: Thu Jan 18, 2018 11:08 am

SMS gateway - Telldus Duo

Post by Corepoint » Thu Jan 18, 2018 11:08 am

Hej
Fick för några dagar sedan fick jag tag på ett 3G modem, tänkte att det kunde vara checkt med sms övervakning på Telldus duo och andra system hemma.

Genom att använda webservern som jag skrev om i en tidigare tråd samt Huawei e220 modem så gick det mycket enkelt att göra det :)
Tråden med Powershell Webservern: http://www.telldus.com/forum/viewtopic.php?f=7&t=4589

Genom att använda följande funktion för att kommunicera med modemet så skickas sms:

Allt som behövs för att skicka ett sms med Powershell är : Send-MJ-SMS -smsnummer 070123123123 -SMSmeddelande "Ett sms via 3g modem"

Code: Select all

<#
Funktionen Skriven av Markus Jakobsson
Commandot för att skicka sms är hittat på internet och lite omskriven för att bli en funktion. 
#>
function Send-MJ-SMS{
    [cmdletbinding()]
    param(
    [Parameter(Mandatory=$true,
               Position=0)]
               [string]$smsnummer,  # anger det nummer du vill skicka till
               [string]$SMSmeddelande  = "Du angav ingen text till SMSet", 
               [string]$COMport        = "COM3"
    )

    begin{
                $serialPort = new-Object System.IO.Ports.SerialPort
    }
    process{  
        $serialPort.PortName = $COMport
        $serialPort.BaudRate = 9600
        $serialPort.WriteTimeout = 500
        $serialPort.ReadTimeout = 3000
        $serialPort.DtrEnable = "true"
        $phoneNumber = "$($smsnummer)"
        [string]$textMessage = $SMSmeddelande
        try {
        $serialPort.Open() 
        }
        catch {
         Start-Sleep -Seconds 1
         $serialPort.Open()
         write-host "porten inte riktigt öppen"
        }
        
        If ($serialPort.IsOpen -eq $true) {
         $serialPort.Write("AT+CMGF=1`r`n")
         $serialPort.Write("AT+CMGS=`"$phoneNumber`"`r`n")
         Start-Sleep -Seconds 1
         $serialPort.Write("$textMessage`r`n")
         $serialPort.Write($([char] 26))
         Start-Sleep -Seconds 1
        }       
        $serialPort.Close()
        if ($serialPort.IsOpen -eq $false) {
         Write-Verbose "Port Closed!"
        }        
    }
    end{

    }
}
Mer om hur jag gjorde allt står här: http://www.automatiserar.se/sms-gateway-vera/

hoppas att någon får nytta av detta :)

Post Reply