# MikroTik RouterOS Script zum aktivieren und deaktivieren des Alarms anhand verbundener WiFi Clients

**URL:** https://forum.instar.com/t/mikrotik-routeros-script-zum-aktivieren-und-deaktivieren-des-alarms-anhand-verbundener-wifi-clients/26762
**Category:** Scripts / Programmierung
**Tags:** smarthome, entwickler
**Created:** [28. Juni 2020 um 07:10 UTC](https://forum.instar.com/t/mikrotik-routeros-script-zum-aktivieren-und-deaktivieren-des-alarms-anhand-verbundener-wifi-clients/26762 "2020-06-28T07:10:19Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![eupho](https://forum.instar.com/user_avatar/forum.instar.com/eupho/32/1484_2.png) [@eupho](https://forum.instar.com/u/eupho)
#### Post date: [28. Juni 2020 um 07:10 UTC](https://forum.instar.com/t/mikrotik-routeros-script-zum-aktivieren-und-deaktivieren-des-alarms-anhand-verbundener-wifi-clients/26762/1 "2020-06-28T07:10:19Z")

</div>

Hallo,

möchte hier nur gerne mein RouterOS Script (MikroTik Router, off topic: super Geräte in allen Belangen, frei konfigurier- und programmierbar!) teilen. Das Script schaut nach ob eines unserer Handys aktuell im WLAN ist und schaltet dann E-Mail Benachrichtigung und Push aus/an. SD Aufzeichnungen nach PIR Events werden weiterhin gemacht.

Liebe Grüße,  
Daniel

```
:local ips {192.168.0.102;192.168.0.103}
:local ipcam 192.168.0.7
:local ipcamusr admin
:local ipcampw mypw

:local currentAlarm
:local desiredAlarm true
:local desiredAlarmStr "on"
:local oneDeviceFound false

:foreach v in=$ips do={
  :local tmp [/interface wireless registration-table find where last-ip=$v]
  :if ([:len $tmp]!=0) do={ 
	:set oneDeviceFound true
  }
}

:if ($oneDeviceFound) do={
  :set desiredAlarm false
  :set desiredAlarmStr "off"
}

:local f [/tool fetch url="http://$ipcamusr:$ipcampw@$ipcam/param.cgi\?cmd=getmdalarm&-aname=emailsnap" mode=http output=user as-value]
# $f is array with :len of 3, content in first element

:local tmp [:find [:pick $f 0] "off" -1]
:if ([:len $tmp]=0) do={
  :set currentAlarm true
} else={
  :set currentAlarm false
}

if ($currentAlarm != $desiredAlarm) do={
  /log info "current alarm ($currentAlarm) and desired alarm ($desiredAlarm) differ, changing to alarm ($desiredAlarmStr) on camera."
  /tool fetch url="http://$ipcamusr:$ipcampw@$ipcam/param.cgi\?cmd=setmdalarm&-aname=server&-switch=$desiredAlarmStr&cmd=setmdalarm&-aname=emailsnap&-switch=$desiredAlarmStr" mode=http
}
```

---

<div class="post-metadata">

### Author: ![eupho](https://forum.instar.com/user_avatar/forum.instar.com/eupho/32/1484_2.png) [@eupho](https://forum.instar.com/u/eupho)
#### Post date: [29. Juni 2020 um 09:10 UTC](https://forum.instar.com/t/mikrotik-routeros-script-zum-aktivieren-und-deaktivieren-des-alarms-anhand-verbundener-wifi-clients/26762/2 "2020-06-29T09:10:03Z")

</div>

Nachtrag: Lässt sich natürlich über den RouterOS scheduler periodisch ausführen, bei mir 1x pro Minute.
