<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.domoticz.com/index.php?action=history&amp;feed=atom&amp;title=PHP%3A_Send_notifications</id>
	<title>PHP: Send notifications - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.domoticz.com/index.php?action=history&amp;feed=atom&amp;title=PHP%3A_Send_notifications"/>
	<link rel="alternate" type="text/html" href="https://wiki.domoticz.com/index.php?title=PHP:_Send_notifications&amp;action=history"/>
	<updated>2026-09-19T00:50:49Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://wiki.domoticz.com/index.php?title=PHP:_Send_notifications&amp;diff=16771&amp;oldid=prev</id>
		<title>Walter vl: /* Purpose */</title>
		<link rel="alternate" type="text/html" href="https://wiki.domoticz.com/index.php?title=PHP:_Send_notifications&amp;diff=16771&amp;oldid=prev"/>
		<updated>2022-01-13T18:15:26Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Purpose&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Purpose=&lt;br /&gt;
Easily send [[Notifications|notifications]] of various types&amp;lt;br/&amp;gt;&lt;br /&gt;
The complete code is available at https://github.com/Egregius/PHP-Custom-Floorplan-for-Domoticz&lt;br /&gt;
&lt;br /&gt;
=Dependencies=&lt;br /&gt;
Best combined with [[PHP: Store switch states and values in variables]]&lt;br /&gt;
&lt;br /&gt;
==Telegram Bot==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$telegrambot=&amp;#039;113492115:AADZ-xCRhO-RBfXqICiJs8q9A_3XIr9irxI&amp;#039;;&lt;br /&gt;
$telegramchatid=56975243;&lt;br /&gt;
&lt;br /&gt;
function telegram($msg) {&lt;br /&gt;
  global $telegrambot,$telegramchatid;&lt;br /&gt;
  $url=&amp;#039;https://api.telegram.org/bot&amp;#039;.$telegrambot.&amp;#039;/sendMessage&amp;#039;;$data=array(&amp;#039;chat_id&amp;#039;=&amp;gt;$telegramchatid,&amp;#039;text&amp;#039;=&amp;gt;$msg);&lt;br /&gt;
  $options=array(&amp;#039;http&amp;#039;=&amp;gt;array(&amp;#039;method&amp;#039;=&amp;gt;&amp;#039;POST&amp;#039;,&amp;#039;header&amp;#039;=&amp;gt;&amp;quot;Content-Type:application/x-www-form-urlencoded\r\n&amp;quot;,&amp;#039;content&amp;#039;=&amp;gt;http_build_query($data),),);&lt;br /&gt;
  $context=stream_context_create($options);&lt;br /&gt;
  $result=file_get_contents($url,false,$context);&lt;br /&gt;
  return $result;&lt;br /&gt;
}&lt;br /&gt;
//Example:&lt;br /&gt;
telegram(&amp;#039;This is a test message sent to Telegram bot at&amp;#039;.time());&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Clickatell SMS==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$smsuser=&amp;#039;username&amp;#039;;//Username at Clickatell&lt;br /&gt;
$smspassword=&amp;#039;Xyz1234&amp;#039;;//Password at Clickatell&lt;br /&gt;
$smsapi=1234567;//API code at Clickatell&lt;br /&gt;
$smstofrom=32479123456;//GSM Number used as sender/receiver of text messages&lt;br /&gt;
function sms($msg) {&lt;br /&gt;
  file_get_contents(&amp;#039;http://api.clickatell.com/http/sendmsg?user=&amp;#039;.$smsuser.&amp;#039;&amp;amp;password=&amp;#039;.$smspassword.&amp;#039;&amp;amp;api_id=&amp;#039;.$smsapi.&amp;#039;&amp;amp;to=&amp;#039;.$smstofrom.&amp;#039;&amp;amp;text=&amp;#039;.urlencode($msg).&amp;#039;&amp;amp;from=&amp;#039;.$smstofrom.&amp;#039;&amp;#039;);&lt;br /&gt;
}&lt;br /&gt;
//Example:&lt;br /&gt;
sms(&amp;#039;This is a test SMS&amp;#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==iOS==&lt;br /&gt;
Messages sent to iOS devices using the &amp;#039;Find my iPhone&amp;#039; service off Apple. These type of messages always make sound, even when phone is on silent or do not disturb mode.&amp;lt;br&amp;gt;&lt;br /&gt;
This function needs the findmyiphone.php file https://github.com/Egregius/PHP-Custom-Floorplan-for-Domoticz/blob/master/secure/findmyiphone.php&amp;lt;br&amp;gt;&lt;br /&gt;
Appledevice ID can be retrieved using findmyiphonedevices.php https://github.com/Egregius/PHP-Custom-Floorplan-for-Domoticz/blob/master/secure/findmyiphonedevices.php&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$appleid=&amp;#039;you@me.com&amp;#039;;//AppleID email address&lt;br /&gt;
$applepass=&amp;#039;Xyz_1234&amp;#039;;//AppleID password&lt;br /&gt;
$appledevice=&amp;#039;939FIdWFh845REeBs1nZk0sD/ZHxYptTlD4zoKvGC2VYH806kSRqROHYRNSUzmWV&amp;#039;;//Apple device ID. &lt;br /&gt;
&lt;br /&gt;
function ios($msg) {&lt;br /&gt;
  global $appleid,$applepass,$appledevice;&lt;br /&gt;
  include (&amp;quot;findmyiphone.php&amp;quot;);&lt;br /&gt;
  $fmi=new FindMyiPhone($appleid,$applepass);&lt;br /&gt;
  $fmi-&amp;gt;playSound($appledevice,$msg);&lt;br /&gt;
  sleep(2);&lt;br /&gt;
}&lt;br /&gt;
//Example:&lt;br /&gt;
ios(&amp;#039;This is a test message&amp;#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Pushover==&lt;br /&gt;
See the pushover FAQ here: https://pushover.net/faq&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
function pushover($msg) {&lt;br /&gt;
    $url = &amp;quot;https://api.pushover.net/1/messages.json&amp;quot;;&lt;br /&gt;
    $data = array(&lt;br /&gt;
       &amp;quot;token&amp;quot; =&amp;gt; &amp;quot;[ Your Pushover Application Token ]&amp;quot;,&lt;br /&gt;
       &amp;quot;user&amp;quot; =&amp;gt; &amp;quot;[ Your Pushover User Token ]&amp;quot;,&lt;br /&gt;
       &amp;quot;message&amp;quot; =&amp;gt; $msg,&lt;br /&gt;
    );&lt;br /&gt;
    $options = array(&lt;br /&gt;
       &amp;#039;http&amp;#039; =&amp;gt; array(&lt;br /&gt;
           &amp;#039;header&amp;#039;  =&amp;gt; &amp;quot;Content-type: application/x-www-form-urlencoded\r\n&amp;quot;,&lt;br /&gt;
           &amp;#039;method&amp;#039;  =&amp;gt; &amp;#039;POST&amp;#039;,&lt;br /&gt;
           &amp;#039;content&amp;#039; =&amp;gt; http_build_query($data),&lt;br /&gt;
        )&lt;br /&gt;
    );&lt;br /&gt;
&lt;br /&gt;
    $context  = stream_context_create($options);&lt;br /&gt;
    $result = file_get_contents($url, false, $context);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Pushsafer==&lt;br /&gt;
See the Pushsafer HowTo here: https://www.pushsafer.com/en/howto&lt;br /&gt;
&lt;br /&gt;
Pushsafer API description: https://www.pushsafer.com/en/pushapi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
function pushsafer($m,$t,$s,$v,$i,$d,$u,$ut,$p,$l,$pr,$re,$ex,$a) {&lt;br /&gt;
    $url = &amp;#039;https://www.pushsafer.com/api&amp;#039;;&lt;br /&gt;
    $data = array(&lt;br /&gt;
    &amp;#039;t&amp;#039; =&amp;gt; urldecode($t),&lt;br /&gt;
    &amp;#039;m&amp;#039; =&amp;gt; urldecode($m),&lt;br /&gt;
    &amp;#039;s&amp;#039; =&amp;gt; $s,&lt;br /&gt;
    &amp;#039;v&amp;#039; =&amp;gt; $v,&lt;br /&gt;
    &amp;#039;i&amp;#039; =&amp;gt; $i,&lt;br /&gt;
    &amp;#039;d&amp;#039; =&amp;gt; $d,&lt;br /&gt;
    &amp;#039;u&amp;#039; =&amp;gt; urldecode($u),&lt;br /&gt;
    &amp;#039;ut&amp;#039; =&amp;gt; urldecode($ut),&lt;br /&gt;
    &amp;#039;l&amp;#039; =&amp;gt; $l,&lt;br /&gt;
    &amp;#039;pr&amp;#039; =&amp;gt; $pr,&lt;br /&gt;
    &amp;#039;re&amp;#039; =&amp;gt; $re,&lt;br /&gt;
    &amp;#039;ex&amp;#039; =&amp;gt; $ex,&lt;br /&gt;
    &amp;#039;a&amp;#039; =&amp;gt; $a,&lt;br /&gt;
    &amp;#039;p&amp;#039; =&amp;gt; $p,&lt;br /&gt;
    &amp;#039;k&amp;#039; =&amp;gt; &amp;#039;XXXXXXXXXXXXXXXXXXXX&amp;#039; // private or alias key&lt;br /&gt;
    );&lt;br /&gt;
    $options = array(&lt;br /&gt;
        &amp;#039;http&amp;#039; =&amp;gt; array(&lt;br /&gt;
        &amp;#039;header&amp;#039;  =&amp;gt; &amp;quot;Content-type: application/x-www-form-urlencoded\r\n&amp;quot;,&lt;br /&gt;
        &amp;#039;method&amp;#039;  =&amp;gt; &amp;#039;POST&amp;#039;,&lt;br /&gt;
        &amp;#039;content&amp;#039; =&amp;gt; http_build_query($data)&lt;br /&gt;
        )&lt;br /&gt;
    );&lt;br /&gt;
    $context  = stream_context_create($options);&lt;br /&gt;
    $result = file_get_contents($url, false, $context);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//Example&lt;br /&gt;
pushsafer(&amp;#039;Message&amp;#039;,&amp;#039;Title&amp;#039;,&amp;#039;5&amp;#039;,&amp;#039;3&amp;#039;,&amp;#039;23&amp;#039;,&amp;#039;56&amp;#039;,&amp;#039;https://www.pushsafer.com&amp;#039;,&amp;#039;Open Pushsafer&amp;#039;,&amp;#039;&amp;#039;,&amp;#039;0&amp;#039;,&amp;#039;2&amp;#039;,&amp;#039;60&amp;#039;,&amp;#039;600&amp;#039;,&amp;#039;1&amp;#039;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Domoticz]]&lt;br /&gt;
[[Category:Notifications]]&lt;/div&gt;</summary>
		<author><name>Walter vl</name></author>
	</entry>
</feed>