UniFi WiFi AP: download
Re: uniFi WiFi AP: download
new version on GitHub https://github.com/kw123/unifi and indigo plugin store: https://www.indigodomo.com/pluginstore/73/<====
v 7.12.103 posted
fixed:
for some instances the status indicator (red/grey/green) was not updated properly
Karl
v 7.12.103 posted
fixed:
for some instances the status indicator (red/grey/green) was not updated properly
Karl
Re: uniFi WiFi AP: download
new version on GitHub https://github.com/kw123/unifi and indigo plugin store: https://www.indigodomo.com/pluginstore/73/<====
v 7.13.103 posted
fixed:
added support for unifi video camera system. You now can trigger on events from the cameras in indigo.
Karl
v 7.13.103 posted
fixed:
added support for unifi video camera system. You now can trigger on events from the cameras in indigo.
Karl
Re: uniFi WiFi AP: download
new version on GitHub https://github.com/kw123/unifi and indigo plugin store: https://www.indigodomo.com/pluginstore/73/<====
v 7.13.104 posted
- camera- Video: added event mangement / printing
- added reports for NVR cameras and system reports
- optimized ssh expect parameters, int faster and more reliable
Karl
v 7.13.104 posted
- camera- Video: added event mangement / printing
- added reports for NVR cameras and system reports
- optimized ssh expect parameters, int faster and more reliable
Karl
Re: uniFi WiFi AP: download
new version on GitHub https://github.com/kw123/unifi and indigo plugin store: https://www.indigodomo.com/pluginstore/73/<====
v 7.14.105 posted
Now supporting
- virtualBox for unifi NVR auto start/stop from within plugin
- management of event jpg files
- details on setup and usage athttp://forums.indigodomo.com/viewtopic. ... 99&t=20656
- bug fix: un-ignore menue showed teh wrong unifi device name
- using some performance enhancement from indigo 7 ie lookup of devcies
Karl
v 7.14.105 posted
Now supporting
- virtualBox for unifi NVR auto start/stop from within plugin
- management of event jpg files
- details on setup and usage athttp://forums.indigodomo.com/viewtopic. ... 99&t=20656
- bug fix: un-ignore menue showed teh wrong unifi device name
- using some performance enhancement from indigo 7 ie lookup of devcies
Karl
Re: uniFi WiFi AP: download
added new version 7.15.108 in plugin store https://www.indigodomo.com/pluginstore/73/ & GitHub https://github.com/kw123/unifi
fixed: uniFiAP in Line '2365' has error='Python argument types
added:
- switch POE on / off besides power cycle
- added "suspended" for system devices. this option will ignore any message / action to or from that device
- added more Virtual box management features ie backup action/ menu.
some clean up in menus
Karl
fixed: uniFiAP in Line '2365' has error='Python argument types
added:
- switch POE on / off besides power cycle
- added "suspended" for system devices. this option will ignore any message / action to or from that device
- added more Virtual box management features ie backup action/ menu.
some clean up in menus
Karl
Re: uniFi WiFi AP: download
added new version 7.15.110 in plugin store https://www.indigodomo.com/pluginstore/73/ & GitHub https://github.com/kw123/unifi
Actions / settings options:
For UniFi system devices
1. switch PoE ports on/off/powercycle (either through switch#, port # or selecting the UniFi client)
2. suspend a UniFi system device: it will make the plugin ignore any message, status changes from the unifi system device, will set status to “susp”
3. disable / enable UniFi AP. will do same as in controller /Config/managedevice/disable-enable, will also set the indigo device to suspended
4. reboot a UniFi device
5. set LEDs on AP devices on/off/blink
For clients:
1. block / unblock access for a regular device / client
2. reconnect a wifi client
For NVR / camera system and Virtual box running NVR system
1. start vmbox
2 stop vmbox
3. backup VM disk
4. compress vm disk
5. (re) mount video disk on vmbox
6. start NVR system on unix box
7. stop NVR system on unix box
Karl
Actions / settings options:
For UniFi system devices
1. switch PoE ports on/off/powercycle (either through switch#, port # or selecting the UniFi client)
2. suspend a UniFi system device: it will make the plugin ignore any message, status changes from the unifi system device, will set status to “susp”
3. disable / enable UniFi AP. will do same as in controller /Config/managedevice/disable-enable, will also set the indigo device to suspended
4. reboot a UniFi device
5. set LEDs on AP devices on/off/blink
For clients:
1. block / unblock access for a regular device / client
2. reconnect a wifi client
For NVR / camera system and Virtual box running NVR system
1. start vmbox
2 stop vmbox
3. backup VM disk
4. compress vm disk
5. (re) mount video disk on vmbox
6. start NVR system on unix box
7. stop NVR system on unix box
Karl
Re: uniFi WiFi AP: download
release v 7.16.112
-Added several GROUP functions and report.
-Can now easily add and remove UniFi devices to from groups in a menu.
-Print Groups has a nice overview and summary of groups and members.
-Added variable Unifi_Groupxx_name. You can set that to eg Wifi or raspberry to rememberwhat is in what groups.
-Unifi_Groupxx_lastChange show the date time stamp of when one device can home or left of THAT group
Added Wake on LAN option for each individual device. Similar to fingscan you can select to send WOL packages to individual devices every xx secs and when they go from up to down .
Fix a bug that cause that device lastupdate was updated at each start.
example of a report:
-Added several GROUP functions and report.
-Can now easily add and remove UniFi devices to from groups in a menu.
-Print Groups has a nice overview and summary of groups and members.
-Added variable Unifi_Groupxx_name. You can set that to eg Wifi or raspberry to rememberwhat is in what groups.
-Unifi_Groupxx_lastChange show the date time stamp of when one device can home or left of THAT group
Added Wake on LAN option for each individual device. Similar to fingscan you can select to send WOL packages to individual devices every xx secs and when they go from up to down .
Fix a bug that cause that device lastupdate was updated at each start.
example of a report:
Code: Select all
17:22:11 GROUPS----- --------MEMBERS ---------------
17:22:11 Group7-amazon -members (/Up/Down/Expired/Ignored) Home: 0; away: 4
UniFi-amazon-clorox/E , UniFi-amazon-glad/E , UniFi-amazon-larabar/E , UniFi-huzza leo/E ,
17:22:11 Group8-Cameras -members (/Up/Down/Expired/Ignored) Home: 8; away: 0
UniFi_camera_Back/U , UniFi_camera_Extra/U , UniFi_camera_Garage/U , UniFi_camera_front_study/U , UniFi_camera_front_top/U , UniFi_camera_hallway/U ,
UniFi_camera_kitchen/U , UniFi_camera_living/U ,
17:22:11 Group10-macs -members (/Up/Down/Expired/Ignored) Home: 5; away: 0
UniFi-Mom-iMac/U , UniFi-dad-1/U , UniFi-dad-2/U , UniFi-mac-mini-karl/U , UniFi-mac-mini-mom/U ,
17:22:11 Group11-RasperryPis -members (/Up/Down/Expired/Ignored) Home: 18; away: 1
UniFi-rpi-0/U , UniFi-rpi-1/U , UniFi-rpi-11/U , UniFi-rpi-13 /U , UniFi-rpi-14/U , UniFi-rpi-19/E ,
....
UniFi-rpi-5/U , UniFi-rpi-6/U , UniFi-rpi-7/U , UniFi-rpi-8/U , UniFi-rpi-9/U , UniFi-rpi-kitchen - sensor/U ,
UniFi-rpi-shake/U , UniFi-rpi-shake-2-study/U ,
17:22:11 Group12-phones -members (/Up/Down/Expired/Ignored) Home: 4; away: 0
UniFi-iPhone Karl/U , UniFi-ipad-mini/U , UniFi-ipad-pro-2/U , UniFi-iphone7-Kristin/U ,
17:22:11 Group15-Wired and WiFi -members (/Up/Down/Expired/Ignored) Home: 76; away: 38
AP-3-unifi/U , AP-4-unifi/U , AP-5-unifi/U , AP-6-unifi/D , AP_3_unifi/U , AP_4_unifi/U ,
....
UniFi_camera_living/U , UniFi_f0:9f:c2:6f:a9:a7/U , UniFi_f0:9f:c2:6f:a9:a8/U , UniFi_f0:9f:c2:c2:f7:3d/D , UniFi_f0:9f:c2:c2:f7:3e/U , UniFi_f0:9f:c2:c2:f8:b4/U ,
UniFi_f0:9f:c2:c2:f8:b5/U , UniFi_f0:9f:c2:c2:f8:b7/U , UniFi_f0:9f:c2:c2:f8:b8/U , UniFi_f0:9f:c2:c4:cb:5f/U , UniFi_f0:9f:c2:c4:cb:60/D ,
UniFi_f0:9f:c2:d7:df:15/E , UniFi_f0:9f:c2:d7:df:2f/E , UniFi_f0:9f:c2:d8:df:15/E , UniFi_f2:9f:c2:d8:df:2f/E , UniFi_sw_1_1_gameRoom-8/U ,
UniFi_sw_1_2_gameRoom-8/U , UniFi_sw_2_1_study/U , UniFi_sw_3_1_kons/U , UniFi_sw_3_2_kons/U , UniFi_sw_4_1_dad/U ,
17:22:12 Group16-LAN-wired -members (/Up/Down/Expired/Ignored) Home: 65; away: 26
AP-3-unifi/U , AP-4-unifi/U , AP-5-unifi/U , AP-6-unifi/D , AP_3_unifi/U , AP_4_unifi/U ,
....
UniFi_f0:9f:c2:d7:df:2f/E , UniFi_f0:9f:c2:d8:df:15/E , UniFi_f2:9f:c2:d8:df:2f/E , UniFi_sw_1_1_gameRoom-8/U , UniFi_sw_1_2_gameRoom-8/U , UniFi_sw_2_1_study/U ,
UniFi_sw_3_1_kons/U , UniFi_sw_3_2_kons/U , UniFi_sw_4_1_dad/U ,
17:22:12 Group17-WiFi -members (/Up/Down/Expired/Ignored) Home: 11; away: 12
UNIFI-amazon-tide/E , UniFi-5c:cf:7f:88:c1:9b/E , UniFi-6c:ad:f8:26:69:9e/E , UniFi-MB-fan/U , UniFi-ac:29:3a:ec:a9:9e/E , UniFi-amazon-clorox/E ,
...
UniFi-rpi-36-zerow/U , UniFi-rpi-38-pizero/U , UniFi-rpi-shake-2-study/U , UniFi_86:38:e0:fb:71:30/E , UniFi_b8:e8:56:42:69:fe/U ,
UniFi_camera_hallway/U ,
17:22:12 Group18-neighbors -members (/Up/Down/Expired/Ignored) Home: 15; away: 0
neighbor-10:be:f5:19:78:08/U , neighbor-20:18:d6:4f:4c:c3/U , neighbor-d4:6a:91:32:4f:92/U , neighbor_2c:7e:81:14:76:50/U , neighbor_6c:19:8f:eb:7c:87/U , neighbor_80:2a:a8:81:85:b6/U ,
neighbor_88:1f:a1:35:dc:fc/U , neighbor_a4:13:4e:40:57:c8/U , neighbor_b0:da:f9:76:12:40/U , neighbor_c2:9f:db:6d:a7:a6/U , neighbor_c8:d7:19:3b:5c:60/U ,
neighbor_ca:d7:19:3b:5c:62/U , neighbor_d4:6a:91:32:4f:98/U , neighbor_e0:b7:0a:93:53:50/U , neighbor_e4:f4:c6:de:47:54/U ,
17:22:12 Group19-system -members (/Up/Down/Expired/Ignored) Home: 15; away: 0
AP_3_study/U , AP_4_server/U , AP_5_gameroom/U , SW_0_ServerRoom-24/U , SW_11_TV/U , SW_1_KONS/U ,
SW_2_Dad/U , SW_3_exRoom/U , SW_4_Leo/U , SW_5_masterBedRoom/U , SW_6_gameRoom/U ,
SW_7_study/U , SW_8_famRoom/U , SW_9_LivingRoom/U , gateway_UniFi/U ,
17:22:12 GROUPS----- --------MEMBERS ----------------- END
17:22:12 -
17:22:12 IGNORED ----- --------MEMBERS ----------------
44:d9:e7:02:4e:9e, 44:d9:e7:02:52:54, 44:d9:e7:04:4e:9e, 44:d9:e7:04:52:54, 44:d9:e7:9f:67:54, 44:d9:e7:9f:f9:97, 44:d9:e7:f9:c5:43, 44:d9:e7:fb:c5:43,
78:8a:20:53:3e:9e, 78:8a:20:54:3e:9e, 80:2a:a8:1d:a9:3d, 80:2a:a8:1d:a9:3e, 80:2a:a8:cc:12:2e, f0:9f:c2:6f:a9:a7, f0:9f:c2:6f:a9:a8, f0:9f:c2:c2:f7:3d, f0:9f:c2:c2:f7:3e,
f0:9f:c2:c2:f8:b4, f0:9f:c2:c2:f8:b5, f0:9f:c2:c2:f8:b7, f0:9f:c2:c2:f8:b8, f0:9f:c2:c2:f8:f9, f0:9f:c2:c2:f8:fa, f0:9f:c2:c3:9f:7a, f0:9f:c2:c3:9f:7b,
f0:9f:c2:c4:cb:5f, f0:9f:c2:c4:cb:60, f0:9f:c2:c5:3e:a2, f0:9f:c2:c5:3e:a3, f0:9f:c2:c5:b1:26, f0:9f:c2:c5:b1:27, f0:9f:c2:d7:df:2f,
17:22:12 IGNORED --- --------MEMBERS -- -------------- END
- Attachments
-
- Screen Shot 2018-06-06 at 17.45.31.png (148.05 KiB) Viewed 16190 times
-
- Screen Shot 2018-06-06 at 17.43.17.png (70.37 KiB) Viewed 16190 times
-
- Screen Shot 2018-06-06 at 17.26.02.png (89.8 KiB) Viewed 16193 times
-
- Screen Shot 2018-06-06 at 17.26.30.png (227.15 KiB) Viewed 16193 times
- Different Computers
- Posts: 2730
- Joined: Sat Jan 02, 2016 10:07 am
- Location: East Coast
- Contact:
Re: uniFi WiFi AP: download
This looks great and I'll try installing it tonight.
But mostly I'm commenting here to thank you again for all your work. uniFiWAP is critical to my Indigo setup and it works flawlessly.
But mostly I'm commenting here to thank you again for all your work. uniFiWAP is critical to my Indigo setup and it works flawlessly.
Sonoma on a Mac Mini M1 running Airfoil Pro, Bond Home, Camect, Roku Network Remote, Hue Lights, DomoPad, Adapters, Home Assistant Agent, HomeKitLinkSiri, EPS Smart Dimmer, Fantastic Weather, Nanoleaf, LED Simple Effects, Grafana, Yamaha RX Receiver.
Re: uniFi WiFi AP: download
posted v 7.16.113; minor change
added
- WOL settings and date of last change and reason to std report
- menu option to set minimum expiration time for ALL devices
added
- WOL settings and date of last change and reason to std report
- menu option to set minimum expiration time for ALL devices
Code: Select all
12:13:30 - curr.; exp; use ping ; use WOL; use what 4; WiFi; WiFi; DHCP; SWITCH; lastStatusChnage; reason;
12:13:30 dev Name -id: MAC# ; status; time; up; down; [sec]; Status; Status;max-idle Time; max-AGE; UPtime changed; ; for change;
12:13:30 AP_3_unifi -1805049652 f0:9f:c2:d6:df:2f; up; 150; False; False; no ; OptDhcpSwitch; ; ; -1; True; 2018-06-03 22:21:00; Period Check;
12:13:30 AP_4_unifi -1734210378 f0:9f:c2:d6:df:15; up; 150; False; False; no ; OptDhcpSwitch; ; ; -1; True; 2018-06-06 13:48:16; Period Check;
12:13:30 SW_1_unifi -1688057498 fc:ec:da:40:08:b3; up; 150; ; ; no ; SWITCH; ; ; ; ; 2018-05-01 10:57:30; switch message;
Optimized;
12:13:31 UniFi-ipad-pro-2 -1681805462 08:e6:89:c8:93:bb; up; 150; False; False; 120; WiFi; Expiration; 10; ; ; 2018-06-07 08:06:25; DICT WiFi 192.168.1.3 up else;
12:13:31 UniFi-iPhone Karl -948869177 1c:36:bb:97:c0:85; up; 150; False; True; 180; WiFi; IdleTime; 30; ; ; 2018-06-07 08:41:07; DICT 192.168.1.4 WiFi up idle-time;
12:13:31 UniFi-iphone7-Kristin -1066129470 18:65:90:6a:b9:0c; up; 150; False; False; no ; WiFi; FastDown; 30; ; ; 2018-06-07 09:09:23; MSG WiFi up;
...
12:13:31 UniFi-5c:cf:7f:88:c1:9b -453811651 5c:cf:7f:88:c1:9b; expired; 150; False; False; no ; WiFi; UpTime; 30; ; ; 2016-11-29 22:18:16; ;
12:13:31 UniFi-6c:ad:f8:26:69:9e -739381743 6c:ad:f8:26:69:9e; expired; 150; False; False; no ; SWITCH; ; ; 60; True; 2017-10-26 21:45:06; Period Check DHCP expired;
...
12:13:31 AP-3-unifi -83367414 44:d9:e7:02:4e:9e; IGNORED; 150; False; False; no ; SWITCH; ; ; 60; True; 2017-11-08 19:13:24; Period Check SWITCH up;
12:13:31 AP-4-unifi -713090476 44:d9:e7:02:52:54; IGNORED; 150; False; False; no ; SWITCH; ; ; 60; True; 2017-11-08 19:13:24; Period Check SWITCH up;
12:13:31 AP-5-unifi -1748250272 44:d9:e7:f9:c5:43; IGNORED; 150; False; False; no ; SWITCH; ; ; 60; True; 2017-11-08 19:13:24; Period Check SWITCH up;
Re: uniFi WiFi AP: download
new release 7.17.11
supports indigo status broadcasts , currently used by home way plugin
supports indigo status broadcasts , currently used by home way plugin
Re: uniFi WiFi AP: download
new release 7.18.118 at GitHub and indigo store
new reporting for UGA config
1. VPN
2. PORT MAPPING
3. RADIUS server
4. DHCP static mapping
you can find the report under menu/PRINT & get info ... /last item
the userid, secrets, ports have been XXXX-ed
as you can see i have some issues with DHCP --> IP mapping . There are several (currently not connected) devices that share the same IP number.
don't know where else to find that info
Karl
ps this is using
ssh userid@ugaip
mca-ctrl -t dump-cfg
to teh the UGA config json file
new reporting for UGA config
1. VPN
2. PORT MAPPING
3. RADIUS server
4. DHCP static mapping
you can find the report under menu/PRINT & get info ... /last item
Code: Select all
11:53:50 ==== UGA-setup ==== - vpn:
{
"ipsec": {
"auto-firewall-nat-exclude": "disable",
"ipsec-interfaces": {
"interface": [
"eth0"
]
},
"nat-networks": {
"allowed-network": {
"0.0.0.0/0": "''"
}
},
"nat-traversal": "enable"
},
"l2tp": {
"remote-access": {
"authentication": {
"mode": "radius",
"radius-server": {
"XXXXX": {
"key": "XXXXX",
"port": "XXXXX"
}
},
"require": "mschap-v2"
},
"client-ip-pool": {
"start": "XXXXX",
"stop": "XXXXX"
},
"dhcp-interface": "eth0",
"dns-servers": {
"server-1": "XXXXX"
},
"idle": "XXXXX",
"ipsec-settings": {
"authentication": {
"mode": "pre-shared-secret",
"pre-shared-secret": "XXXXX"
},
"ike-lifetime": "3600",
"lifetime": "3600"
}
}
}
}
11:53:50 ==== UGA-setup ==== - port-forward:
{
"auto-firewall": "disable",
"hairpin-nat": "enable",
"lan-interface": [
"eth1"
],
"rule": {
"3001": {
"description": "indigo Touch",
"forward-to": {
"address": "XXXXX"
},
"original-port": "XXXXX",
"protocol": "tcp_udp"
},
"3002": {
"description": "indigo client",
"forward-to": {
"address": "XXXXX"
},
"original-port": "XXXXX",
"protocol": "tcp_udp"
},
"3003": {
"description": "XXXXX",
"forward-to": {
"address": "XXXXX",
"port": "XXXXX"
},
"original-port": "XXXXX",
"protocol": "tcp_udp"
}
},
"wan-interface": "eth0"
}
11:53:50 ==== UGA-setup ==== - service:radius-server:
{
"acct-port": "XXXXX",
"auth-port": "XXXXX",
"client": {
"client-xxxx": {
"ip-address": "XXXXX",
"netmask": "XXXXX",
"secret": "XXXXX"
}
},
"enable": "''",
"tunneled-reply": "''",
"user": {
"vpnuser": {
"password": "XXXXX",
"tunnel-param": "3 1"
}
}
}
11:53:50 ==== UGA-setup ==== - static DHCP mappings:
00:04:a3:fe:bc:00 --> 192.168.1.62 192.168.1.8 --> 08:00:27:0a:11:71
00:04:a3:ff:bb:60 --> 192.168.1.64 192.168.1.9 --> 10:9a:dd:60:97:2c
00:0e:58:24:c7:dc --> 192.168.1.153 192.168.1.9 --> 44:d9:e7:9f:f9:97
00:13:ef:71:02:3a --> 192.168.1.28 192.168.1.10 --> 38:c9:86:06:4d:21
00:15:99:67:0a:71 --> 192.168.1.44 192.168.1.20 --> b8:27:eb:2e:fb:b3
00:1e:c0:e7:4d:38 --> 192.168.1.63 192.168.1.20 --> b8:27:eb:35:54:c7
00:1e:c0:e7:57:b8 --> 192.168.1.61 192.168.1.20 --> b8:27:eb:d1:1a:2f
00:1f:5b:30:e9:20 --> 192.168.1.50 192.168.1.21 --> b8:27:eb:00:30:7f
00:1f:5b:30:e9:21 --> 192.168.1.59 192.168.1.22 --> b8:27:eb:1b:1f:50
00:22:b0:e5:d4:c8 --> 192.168.1.72 192.168.1.22 --> b8:27:eb:7e:49:9f
00:50:18:5c:97:0a --> 192.168.1.59 192.168.1.23 --> b8:27:eb:29:e8:14
00:.....as you can see i have some issues with DHCP --> IP mapping . There are several (currently not connected) devices that share the same IP number.
don't know where else to find that info
Karl
ps this is using
ssh userid@ugaip
mca-ctrl -t dump-cfg
to teh the UGA config json file
Re: uniFi WiFi AP: download
fixed (un)block and reconnect client,
posted on GitHub and plugin store
posted on GitHub and plugin store
Re: uniFi WiFi AP: download
posted a new version that adds a variable: "Unifi_With_IPNumber_Change"
it changes when a devices changes its IP number.
it will show: devName/MAC#/oldIP#/newIP#
You can set a trigger on that variable and the parse variable content to access any info from the devices states, eg to send an email or just log the variable in indigos logfile.
items = (indigo.variables["Unifi_With_IPNumber_Change"]).value.split("/")
then
items[0] = dev Name
items[1] = mac#
items[2] = old ip #
items[3] = new ip #
access the device states with
dev = indigo.devices[items[0]]
the eg the device state "AP" with
AP = dev.states["AP"]
and send to logfile:
indigo.server.log(" unifi device "+ items[0]+" changed IP number; old IP#: "+ items[2]+"; new IP#"+items[3])
Karl
it changes when a devices changes its IP number.
it will show: devName/MAC#/oldIP#/newIP#
You can set a trigger on that variable and the parse variable content to access any info from the devices states, eg to send an email or just log the variable in indigos logfile.
items = (indigo.variables["Unifi_With_IPNumber_Change"]).value.split("/")
then
items[0] = dev Name
items[1] = mac#
items[2] = old ip #
items[3] = new ip #
access the device states with
dev = indigo.devices[items[0]]
the eg the device state "AP" with
AP = dev.states["AP"]
and send to logfile:
indigo.server.log(" unifi device "+ items[0]+" changed IP number; old IP#: "+ items[2]+"; new IP#"+items[3])
Karl
Re: uniFi WiFi AP: download
posted a new version that adds a variable: "Unifi_New_Device"
it changes when a new UniFi indigo device gets added
it will show: devName/MAC#/IP#
IP# can be empty ie for neighbor routers type devices
you can trigger on it similar to "Unifi_With_IPNumber_Change"
Karl
it changes when a new UniFi indigo device gets added
it will show: devName/MAC#/IP#
IP# can be empty ie for neighbor routers type devices
you can trigger on it similar to "Unifi_With_IPNumber_Change"
Karl
Re: uniFi WiFi AP: download
That’s awesome. Thanks Karl
Sent from my iPhone using Tapatalk
Sent from my iPhone using Tapatalk