Solusi Error Voucher WiFi Paket 24 Jam, yang Seperti Voucher Baru lagi dikemudian hari, padahal sudah dipakai orangnya

Langsung Viral dot com – Ceritanya begini, misalnya, ada orang yang beli voucher wifi durasi 24 jam (Voucher 1 Hari) ke kita. Dia beli nya tanggal 13 Januari 2020 dan dia aktifkan si itu voucher pada jam 6 pagi (tanggal 13 Januari tsb).

Tetapi ternyata si voucher nya itu masih bisa dia pakai pada tanggal 14 januari jam 7 pagi. Nah kan aturan itu voucher sudah ter hapus dari mikrotik pada jam 6 pagi tanggal 14 januari.

Nah, biasanya, error semacam itu karena Mikrotik kita mati atau re start, misalnya karena listrik PLN mati dan kita tidak pakai UPS AC atau tidak pakai UPS DC. yang menyebabkan mikrotik kita ikutan mati.

Nah, pada saat mati RB kita itu, kebetulan data remove voucher nya (yang biasa di taroh di bagian kolom comment – jika kita gunakan mikhmon) itu belum tersimpan ke mikrotik, karena si pengguna voucher belum terdeteksi berhenti, atau apa ya istilahnya itu.. aduh saya juga belum memahaminya om. Intinya si data remove voucher nya belum re record ke bagian comment – dan lalu keburu mati RB kita nya.

Maka jika kejadian nya demikian, si voucher tsb jadi blong om, tidak ada / belum data comment nya. Dan itulah yang menyebabkan suatu voucher bisa atau masih bisa digunakan walau secara rule si voucher sudah waktunya kadaluarsa atau sudah waktu nya di remove. lah data remove nya kan kosong om. Error jadinya.

Maka, untuk solusi kasus diatas, ini khusus nya mikhmon ya om, saya coba gunakan suatu cara agar voucher nya di data di scheduler (persis mikhmon vesi agak jadul ini)

Secara Step by Step, Cara setting nya begini om :

1. Om buat dulu User Profile Hotspot nya di Winbox – seperti gambar berikut ini :

Pastikan di bagian script on login nya di isi begini :

:put (",,0,,,noexp,Enable,"); [:local mac $"mac-address"; /ip hotspot user set mac-address=$mac [find where name=$user]]

2. Kemudian masukkan script di bawah ini di bawah kode diatas.

local a $user;
local b $"mac-address";
if ([len [/system scheduler find name="offinet-PAKET-HOTSPOT-1-HARI-$a"]] = 0) do={[
/system scheduler add interval=1d name="offinet-PAKET-HOTSPOT-1-HARI-$a" on "/ip hotspot user remove [find name=$a];
/ip hotspot host remove [find mac-address=$b];
/ip hotspot active remove [find mac-address=$b];
/ip hotspot cookie remove [find mac-address=$b];
/system scheduler remove [find name=offinet-PAKET-HOTSPOT-1-HARI-$a]"]}

Lihat gambar di bawah ini :

Jadi kalau di gabung, maka Isi script On Login itu secara keseluruhan, jadi begini om :

:put (",,0,,,noexp,Enable,"); [:local mac $"mac-address"; /ip hotspot user set mac-address=$mac [find where name=$user]]
local a $user;
local b $"mac-address";
if ([len [/system scheduler find name="offinet-PAKET-HOTSPOT-1-HARI-$a"]] = 0) do={[
/system scheduler add interval=1d name="offinet-PAKET-HOTSPOT-1-HARI-$a" on "/ip hotspot user remove [find name=$a];
/ip hotspot host remove [find mac-address=$b];
/ip hotspot active remove [find mac-address=$b];
/ip hotspot cookie remove [find mac-address=$b];
/system scheduler remove [find name=offinet-PAKET-HOTSPOT-1-HARI-$a]"]}

CATATAN LAIN :

Jika om punya paket lain, misalnya Paket WiFi 1 Jam, maka tinggal rubah intervalnya saja jadi 1 jam.

Contoh berikut ini adalah script untuk voucher 1 jam dan juga voucher kopi plus yaitu voucher wifi nya dikasih 2 jam :

Contoh Script Paket Voucher 1 Jam :

:put (",,0,,,noexp,Enable,"); [:local mac $"mac-address"; /ip hotspot user set mac-address=$mac [find where name=$user]]
local a $user;
local b $"mac-address";
if ([len [/system scheduler find name="offinet-PAKET-HOTSPOT-1-JAM-$a"]] = 0) do={[
/system scheduler add interval=1h name="offinet-PAKET-HOTSPOT-1-JAM-$a" on "/ip hotspot user remove [find name=$a];
/ip hotspot host remove [find mac-address=$b];
/ip hotspot active remove [find mac-address=$b];
/ip hotspot cookie remove [find mac-address=$b];
/system scheduler remove [find name=offinet-PAKET-HOTSPOT-1-JAM-$a]"]}

Contoh Script Paket Voucher Kopi Plus yaitu dikasih WiFi 2 Jam :

:put (",,0,,,noexp,Enable,"); [:local mac $"mac-address"; /ip hotspot user set mac-address=$mac [find where name=$user]]
local a $user;
local b $"mac-address";
if ([len [/system scheduler find name="offinet-PAKET-HOTSPOT-KOPI-PLUS-$a"]] = 0) do={[
/system scheduler add interval=2h name="offinet-PAKET-HOTSPOT-KOPI-PLUS-$a" on "/ip hotspot user remove [find name=$a];
/ip hotspot host remove [find mac-address=$b];
/ip hotspot active remove [find mac-address=$b];
/ip hotspot cookie remove [find mac-address=$b];
/system scheduler remove [find name=offinet-PAKET-HOTSPOT-KOPI-PLUS-$a]"]}

OK LANJUT LAGI OM :

3. Lalu kita lakukan ujicoba generate voucher yang mengarah ke Profile tersebut. Pake mikhmon saja om.

Ini hasilnya

jadi urusan generate voucher, tetap pakai mikhmon ya om, agar mudah. Tapi nanti urusan mengurus remove user nya tidak di handle mikhmon lagi.

Lanjut om :

4. Ceritanya, saya coba login kan si kode voucher “mh8”.

Nah, ketika sukses login, maka akan otomatis terbentuk suatu Scheduler tentang si voucher “mh8” tersebut.

Ini tampilan si scheduler yang auto terbentuk tsb :

Keterangan isi On Event nya ini om :

/ip hotspot user remove [find name=mh8];
/ip hotspot host remove [find mac-address=C0:87:EB:18:**:**];
/ip hotspot active remove [find mac-address=C0:87:EB:18:**:**];
/ip hotspot cookie remove [find mac-address=C0:87:EB:18:**:**];
/system scheduler remove [find name=offinet-PAKET-HOTSPOT-1-HARI-mh8]

Sebagai berikut :

/ip hotspot user remove [find name=mh8];
Si voucher “mh8” akan di hapus dari mikrotik pada jam 06:07:00 – tanggal 14 januari 2020 (berarti hari besok nya, yaitu tepat setelah 24 jam sejak si voucher tersebut mulai di aktifkan. Di aktifkan nya khan jam 06:07:00 tanggal 13 januari. Nah, karena kita menggunakan Interval “1d 00:00:00” (karena untuk keperluan paket voucher 24 jam) maka schedule akan loncat ke 1 hari berikutnya dengan jam yang sama.

/ip hotspot host remove [find mac-address=C0:87:EB:18:**:**];
Mac Address HP punya nya si voucher “mh8” akan dihapus dari bagian IP – HOTSPOT – tab HOSTS

/ip hotspot active remove [find mac-address=C0:87:EB:18:**:**];
Mac Address HP punya nya si voucher “mh8”, juga akan dihapus dari bagian IP – HOTSPOT – tab ACTIVE

/ip hotspot cookie remove [find mac-address=C0:87:EB:18:**:**];
Mac Address HP punya nya si voucher “mh8”, juga akan dihapus dari bagian IP – HOTSPOT – tab COOKIES

Kemudian, terakhir,

/system scheduler remove [find name=offinet-PAKET-HOTSPOT-1-HARI-mh8]
Si Scheduler dengan nama “offinet-PAKET-HOTSPOT-1-HARI-mh8” dari isi Scheduler karena tugas si voucher “mh8” sudah selesai.

Tambahan penjelasan :

Cara ini juga ada kelemahannya, yaitu jika waktunya si voucher tersebut di hapus oleh mikrotik, sedangkan mikrotiknya dalam kondisi mati (karena pln mati atau sengaja kita matikan karena banyak petir, maka voucher yang harus nya di delete oleh mikrotik pada waktu tsb jadi tetap masih ada di mikrotik kita dan tentunya si scheduler nya pun tetap ada,, tapi dia akan merubah NEXT RUN nya saja, jadi loncat ke tanggal berikutnya.

Maka solusinya, om tinggal cek saja di scheduler secara manual, apakah ada suatu scheduler voucher yang masih ada nempel di scheduler padahal jeda antara Start Date dengan Date sekarang (atau lihat NEXT RUN nya) sudah lebih dari 24 jam sejak Start Date ??? (jika voucher 24jam), maka jika ada , hapus saja manual si scheduler dan juga si user nya.

Misal, di Start Date ter isi : Jan/13/2020
Lalu di Next Run, ter isi : Jan/15/2020 06:07:00
Nah, Voucher begitu yang harus di Hapus manual, karena terdeteksi sudah lebih dari 24 jam khan sejak mulai di aktifkan si voucher yaitu Jan/13/2020 — lalu terbukti masih ada nempel di mikrotik kita.. padahal misalnya pas di cek di Next Run – tulisan nya Jan/15/2020 06:07:00
Jadi hapus manual saja om, jika menemukan begitu.

Dengan cara ini, minimal kita jadi mudah deteksi voucher-voucher yang sudah pernah aktif karena data di scheduler adalah tetap ada — tidak berubah, walau RB kita mati.

Semoga apa yang saya obrolkan ini tidak membingungkan om. Ya beginilah om, saya juga kesulitan menjelaskannya.

Catatan Lain Lagi om, sebenarnya ini hanya numpang saja, agar jika saya lupa dan atau error settingan User Profile saya, maka tidak susah nyari nya, heee….

Dan berikut ini, selengkapnya, contoh paket di Warkop Salira :

Paket Hotspot 1 Jam

:put (",,0,,,noexp,Enable,"); [:local mac $"mac-address"; /ip hotspot user set mac-address=$mac [find where name=$user]]
local a $user;
local b $"mac-address";
if ([len [/system scheduler find name="offinet-PAKET-HOTSPOT-1-JAM-$a"]] = 0) do={[
/system scheduler add interval=1h name="offinet-PAKET-HOTSPOT-1-JAM-$a" on "/ip hotspot user remove [find name=$a];
/ip hotspot host remove [find mac-address=$b];
/ip hotspot active remove [find mac-address=$b];
/ip hotspot cookie remove [find mac-address=$b];
/system scheduler remove [find name=offinet-PAKET-HOTSPOT-1-JAM-$a]"]}

Paket Hotspot Kopi Plus

:put (",,0,,,noexp,Enable,"); [:local mac $"mac-address"; /ip hotspot user set mac-address=$mac [find where name=$user]]
local a $user;
local b $"mac-address";
if ([len [/system scheduler find name="offinet-PAKET-HOTSPOT-KOPI-PLUS-$a"]] = 0) do={[
/system scheduler add interval=2h name="offinet-PAKET-HOTSPOT-KOPI-PLUS-$a" on "/ip hotspot user remove [find name=$a];
/ip hotspot host remove [find mac-address=$b];
/ip hotspot active remove [find mac-address=$b];
/ip hotspot cookie remove [find mac-address=$b];
/system scheduler remove [find name=offinet-PAKET-HOTSPOT-KOPI-PLUS-$a]"]}

Paket Hotspot Kuis

:put (",,0,,,noexp,Enable,"); [:local mac $"mac-address"; /ip hotspot user set mac-address=$mac [find where name=$user]]
local a $user;
local b $"mac-address";
if ([len [/system scheduler find name="offinet-PAKET-HOTSPOT-KUIS-$a"]] = 0) do={[
/system scheduler add interval=1h name="offinet-PAKET-HOTSPOT-KUIS-$a" on "/ip hotspot user remove [find name=$a];
/ip hotspot host remove [find mac-address=$b];
/ip hotspot active remove [find mac-address=$b];
/ip hotspot cookie remove [find mac-address=$b];
/system scheduler remove [find name=offinet-PAKET-HOTSPOT-KUIS-$a]"]}

Paket Hotspot 1 Hari

:put (",,0,,,noexp,Enable,"); [:local mac $"mac-address"; /ip hotspot user set mac-address=$mac [find where name=$user]]
local a $user;
local b $"mac-address";
if ([len [/system scheduler find name="offinet-PAKET-HOTSPOT-1-HARI-$a"]] = 0) do={[
/system scheduler add interval=1d name="offinet-PAKET-HOTSPOT-1-HARI-$a" on "/ip hotspot user remove [find name=$a];
/ip hotspot host remove [find mac-address=$b];
/ip hotspot active remove [find mac-address=$b];
/ip hotspot cookie remove [find mac-address=$b];
/system scheduler remove [find name=offinet-PAKET-HOTSPOT-1-HARI-$a]"]}

Paket Hotspot 1 Hari – Warung Mang Hoer

:put (",,0,,,noexp,Enable,"); [:local mac $"mac-address"; /ip hotspot user set mac-address=$mac [find where name=$user]]
local a $user;
local b $"mac-address";
if ([len [/system scheduler find name="offinet-PAKET-HOTSPOT-1-HARI-WARUNG-MANG-HOER-$a"]] = 0) do={[
/system scheduler add interval=1d name="offinet-PAKET-HOTSPOT-1-HARI-WARUNG-MANG-HOER-$a" on "/ip hotspot user remove [find name=$a];
/ip hotspot host remove [find mac-address=$b];
/ip hotspot active remove [find mac-address=$b];
/ip hotspot cookie remove [find mac-address=$b];
/system scheduler remove [find name=offinet-PAKET-HOTSPOT-1-HARI-WARUNG-MANG-HOER-$a]"]}

Paket Hotspot Rumahan 1M

:put (",,0,,,noexp,Enable,"); [:local mac $"mac-address"; /ip hotspot user set mac-address=$mac [find where name=$user]]
local a $user;
local b $"mac-address";
if ([/ip hotspot user get [find name="$a"] comment] = "") do={[
/ip hotspot user remove [find name=$b];
/ip hotspot user set [find name=$a] comment=$a mac-address=$b name=$b password="di-isi-mac-auth-password";
/system scheduler add name=$b interval="00:00:02" on "/ip hotspot active remove [find mac-address=$b];
/ip hotspot host remove [find mac-address=$b];
/ip hotspot cookie remove [find mac-address=$b];
/system scheduler remove [find name=$b]"]}

Paket Hotspot Rumahan 2M

:put (",,0,,,noexp,Enable,"); [:local mac $"mac-address"; /ip hotspot user set mac-address=$mac [find where name=$user]]
local a $user;
local b $"mac-address";
if ([/ip hotspot user get [find name="$a"] comment] = "") do={[
/ip hotspot user remove [find name=$b];
/ip hotspot user set [find name=$a] comment=$a mac-address=$b name=$b password="di-isi-mac-auth-password";
/system scheduler add name=$b interval="00:00:02" on "/ip hotspot active remove [find mac-address=$b];
/ip hotspot host remove [find mac-address=$b];
/ip hotspot cookie remove [find mac-address=$b];
/system scheduler remove [find name=$b]"]}

Paket Hotspot Rumahan 3M

:put (",,0,,,noexp,Enable,"); [:local mac $"mac-address"; /ip hotspot user set mac-address=$mac [find where name=$user]]
local a $user;
local b $"mac-address";
if ([/ip hotspot user get [find name="$a"] comment] = "") do={[
/ip hotspot user remove [find name=$b];
/ip hotspot user set [find name=$a] comment=$a mac-address=$b name=$b password="di-isi-mac-auth-password";
/system scheduler add name=$b interval="00:00:02" on "/ip hotspot active remove [find mac-address=$b];
/ip hotspot host remove [find mac-address=$b];
/ip hotspot cookie remove [find mac-address=$b];
/system scheduler remove [find name=$b]"]}

Paket Hotspot WiFi Warkop – Jam 5 Pagi Voucher WiFi yang sedang aktif akan Otomatis Dihapus

:put (",,0,,,noexp,Enable,"); [:local mac $"mac-address"; /ip hotspot user set mac-address=$mac [find where name=$user]]
local a $user;
local b $"mac-address";
if ([len [/system scheduler find name="$a"]] = 0) do={[
/system scheduler add interval=1d name=$a start-time="05:00:00" on "/ip hotspot user remove [find name=$a];
/ip hotspot host remove [find mac-address=$b];
/ip hotspot active remove [find mac-address=$b];
/ip hotspot cookie remove [find mac-address=$b];
/system scheduler remove [find name=$a]"]}

Paket Hotspot Wisata – Buka Jam 8 Pagi, Tutup Jam 4 Sore

:put (",,0,,,noexp,Enable,"); [:local mac $"mac-address"; /ip hotspot user set mac-address=$mac [find where name=$user]]
local a $user;
local b $"mac-address";
if ([len [/system scheduler find name="offinet-PAKET-HOTSPOT-WISATA-BUKA-JAM-8-TUTUP-JAM-16-$a"]] = 0) do={[
/system scheduler add interval=1d name="offinet-PAKET-HOTSPOT-WISATA-BUKA-JAM-8-TUTUP-JAM-16-$a" start-time="16:00:00" on "/ip hotspot user remove [find name=$a];
/ip hotspot host remove [find mac-address=$b];
/ip hotspot active remove [find mac-address=$b];
/ip hotspot cookie remove [find mac-address=$b];
/system scheduler remove [find name=offinet-PAKET-HOTSPOT-WISATA-BUKA-JAM-8-TUTUP-JAM-16-$a]"]}

Demikian, semoga bermanfaat. (LV – PP)

Tags: #Error #Hotspot #Mikhmon #Solusi #Voucher #WiFi